From dca22581d7fc880eb333e99395434a493f5474d6 Mon Sep 17 00:00:00 2001 From: JackLee <809262979@qq.com> Date: Thu, 5 Mar 2026 21:44:00 +0800 Subject: [PATCH] =?UTF-8?q?=E6=95=B4=E7=90=86=E5=B8=83=E5=B1=80=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E6=96=87=E4=BB=B6=E5=92=8CInterface=E4=BD=BF=E5=BE=97?= =?UTF-8?q?=E9=98=85=E8=AF=BB=E6=96=B9=E4=BE=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ets/pages/CustomStyle/StyleButton.ets | 52 ++++-- .../main/ets/pages/CustomStyle/StyleMenu.ets | 38 ++--- .../ets/pages/LayoutData/TitleInterface.ets | 63 -------- .../ets/pages/LayoutData/TitleLayoutData.ets | 129 --------------- .../Interface/TitleButtonInterface.ets | 10 ++ .../Interface/TitleGroupInterface.ets | 12 ++ .../Interface/TitleInterface.ets | 11 ++ .../Interface/TitleMenuInterface.ets | 6 + .../Interface/TitleModelInterface.ets | 18 +++ .../pages/LayoutInterface/Layout/TitleCAD.ets | 0 .../pages/LayoutInterface/Layout/TitleCAE.ets | 0 .../pages/LayoutInterface/Layout/TitleCAM.ets | 0 .../LayoutInterface/Layout/TitleFileModel.ets | 15 ++ .../LayoutInterface/Layout/TitleGroupMenu.ets | 9 ++ .../LayoutInterface/Layout/TitleMainPage.ets | 21 +++ .../Layout/TitleMatrixModel.ets | 14 ++ .../LayoutInterface/Layout/TitleModelType.ets | 6 + .../LayoutInterface/Layout/TitleRowMenu.ets | 8 + .../Layout/TitleTabContent.ets | 150 ++++++++++++++++++ .../ets/pages/TitleTabLayout/TitleTab.ets | 24 +-- .../pages/TitleTabLayout/TitleTabContent.ets | 33 ++-- 21 files changed, 370 insertions(+), 249 deletions(-) delete mode 100644 entry/src/main/ets/pages/LayoutData/TitleInterface.ets delete mode 100644 entry/src/main/ets/pages/LayoutData/TitleLayoutData.ets create mode 100644 entry/src/main/ets/pages/LayoutInterface/Interface/TitleButtonInterface.ets create mode 100644 entry/src/main/ets/pages/LayoutInterface/Interface/TitleGroupInterface.ets create mode 100644 entry/src/main/ets/pages/LayoutInterface/Interface/TitleInterface.ets create mode 100644 entry/src/main/ets/pages/LayoutInterface/Interface/TitleMenuInterface.ets create mode 100644 entry/src/main/ets/pages/LayoutInterface/Interface/TitleModelInterface.ets create mode 100644 entry/src/main/ets/pages/LayoutInterface/Layout/TitleCAD.ets create mode 100644 entry/src/main/ets/pages/LayoutInterface/Layout/TitleCAE.ets create mode 100644 entry/src/main/ets/pages/LayoutInterface/Layout/TitleCAM.ets create mode 100644 entry/src/main/ets/pages/LayoutInterface/Layout/TitleFileModel.ets create mode 100644 entry/src/main/ets/pages/LayoutInterface/Layout/TitleGroupMenu.ets create mode 100644 entry/src/main/ets/pages/LayoutInterface/Layout/TitleMainPage.ets create mode 100644 entry/src/main/ets/pages/LayoutInterface/Layout/TitleMatrixModel.ets create mode 100644 entry/src/main/ets/pages/LayoutInterface/Layout/TitleModelType.ets create mode 100644 entry/src/main/ets/pages/LayoutInterface/Layout/TitleRowMenu.ets create mode 100644 entry/src/main/ets/pages/LayoutInterface/Layout/TitleTabContent.ets diff --git a/entry/src/main/ets/pages/CustomStyle/StyleButton.ets b/entry/src/main/ets/pages/CustomStyle/StyleButton.ets index bb274be8..14e6e416 100644 --- a/entry/src/main/ets/pages/CustomStyle/StyleButton.ets +++ b/entry/src/main/ets/pages/CustomStyle/StyleButton.ets @@ -1,21 +1,43 @@ -import { BtnEvent } from "../LayoutData/TitleInterface"; +import { hilog } from '@kit.PerformanceAnalysisKit'; +import { TitleButton } from "../LayoutInterface/Interface/TitleButtonInterface"; +import { TitleModel} from "../LayoutInterface/Interface/TitleModelInterface"; +import { TitleData } from '../LayoutInterface/Layout/TitleTabContent'; //单一功能按钮 @ComponentV2 -export struct EventButton { - @Event btn:BtnEvent; +export struct EventBtn { + @Param eventBtn:TitleButton|undefined=undefined; + @Param modelType:number|undefined=0; + @Consumer('curtModel') curtModel:Array|undefined= TitleData.mModels.get(0) build() { Column({ space: 2 }) { - // 请将$r('app.media.loading')替换为实际资源文件 - Image($r('app.media.' + this.btn.eIcon)) - .width(45) - .height(35) - .objectFit(ImageFit.Contain) - Text(this.btn.eName) + if(this.eventBtn!=undefined){ + if(this.modelType==1){ + Image($r('app.media.' + this.eventBtn.eIcon)) + .width(45) + .height(35) + .objectFit(ImageFit.Contain) + .onClick(()=>{ + if(this.eventBtn?.eEvent=='Switch_Model_CAD'){ + this.curtModel=TitleData.mModels.get(1) + }else if(this.eventBtn?.eEvent=='Switch_Model_CAM'){ + this.curtModel=TitleData.mModels.get(2) + }else if(this.eventBtn?.eEvent=='Switch_Model_CAE'){ + this.curtModel=TitleData.mModels.get(3) + } + }) + }else{ + Image($r('app.media.' + this.eventBtn.eIcon)) + .width(45) + .height(35) + .objectFit(ImageFit.Contain) + } + Text(this.eventBtn.eName) .fontSize(10) .width(45) .height(10) .textAlign(TextAlign.Center) + } } .height('50') .width('50') @@ -26,12 +48,12 @@ export struct EventButton { //菜单目录按钮 //功能目录菜单,主要用于针对单一按钮多个功能形式 @ComponentV2 -export struct EventBtnMenu { - @Event btnMenus: Array=[]; +export struct MenuBtn { + @Param menuBtn: Array|undefined=undefined; @Builder - EventMenu(_btnMenus:Array){ + EventMenu(_btnMenus:Array){ Menu() { - ForEach(_btnMenus, (item: BtnEvent, index: number) => { + ForEach(_btnMenus, (item: TitleButton, index: number) => { MenuItem({ startIcon: $r('app.media.'+item.eIcon), content: item.eName }) .width('150') .margin({ top: 0, left: 0, bottom: 0, right: 0 @@ -40,7 +62,9 @@ export struct EventBtnMenu { } } build() { - EventButton({btn:this.btnMenus[0]}).bindMenu(this.EventMenu(this.btnMenus)) + if(this.menuBtn!=undefined){ + EventBtn({eventBtn:this.menuBtn[0]}).bindMenu(this.EventMenu(this.menuBtn)) + } } } diff --git a/entry/src/main/ets/pages/CustomStyle/StyleMenu.ets b/entry/src/main/ets/pages/CustomStyle/StyleMenu.ets index 891b4512..45f2f1ec 100644 --- a/entry/src/main/ets/pages/CustomStyle/StyleMenu.ets +++ b/entry/src/main/ets/pages/CustomStyle/StyleMenu.ets @@ -1,15 +1,15 @@ -import { BaseMenu } from "../LayoutData/TitleInterface"; +import { TitleMenu } from "../LayoutInterface/Interface/TitleMenuInterface"; +import { TitleGroup } from "../LayoutInterface/Interface/TitleGroupInterface"; //菜单按钮 //主要用于功能组操作菜单.文件下拉菜单等. @ComponentV2 export struct GroupTextEventMenu { - @Event grpName:string ='' - @Event grpMenus: Array=[]; + @Param grpEvent:TitleGroup|undefined=undefined; @Builder - GroupMenu(menus: Array) { - ForEach(menus, (item: BaseMenu, index: number) => { - MenuItem({ startIcon: $r('app.media.'+item.icon), content: item.str }) + GroupMenu(menus: Array) { + ForEach(menus, (item: TitleMenu, index: number) => { + MenuItem({ startIcon: $r('app.media.'+item.mIcon), content: item.mName }) .width('150') .margin({ top: 0, left: 0, bottom: 0, right: 0 }) @@ -17,18 +17,20 @@ export struct GroupTextEventMenu { } build(){ Row(){ - //功能组名文本 - Blank().width('auto') - Text(this.grpName) - .fontSize(8) - .fontColor(Color.Gray) - Blank().width('auto') - Image($r('app.media.base_seetings')) - .height(15) - .width(15) - .padding(1) - .bindMenu(this.GroupMenu(this.grpMenus)) - .backgroundColor(Color.Transparent) + if(this.grpEvent!=undefined){ + //功能组名文本 + Blank().width('auto') + Text(this.grpEvent.grpName) + .fontSize(8) + .fontColor(Color.Gray) + Blank().width('auto') + Image($r('app.media.base_seetings')) + .height(15) + .width(15) + .padding(1) + .bindMenu(this.GroupMenu(this.grpEvent.grpMenu)) + .backgroundColor(Color.Transparent) + } }.align(Alignment.BottomEnd) } } diff --git a/entry/src/main/ets/pages/LayoutData/TitleInterface.ets b/entry/src/main/ets/pages/LayoutData/TitleInterface.ets deleted file mode 100644 index 1a1699c4..00000000 --- a/entry/src/main/ets/pages/LayoutData/TitleInterface.ets +++ /dev/null @@ -1,63 +0,0 @@ -export enum Model{ - CAD, - CAM, - CAE, - BASE -}; -//Button和Event绑定 -export interface BtnEvent { - eModel:Array - eName:string - eNamed:string - eIcon:string - eTips:string - eEvent:string -} -//Menu -export interface Menu{ - mName:string - mIcon:string - mTips:string - mEvent:string -} -//功能组 -export interface GroupEvent{ - //功能组名字 - grpName:string; - //按钮列表 - grpBtn:Array> - //功能组菜单 - grpMenu:Array -} - -export interface CAXModel{ - //模块名 - cmName:string - //模块路由页面 - cmPage:string - //模块提示 - cmTips:string - //模块布局数据 - //第一个Array为TabContent的行数 - //第二个Array为单行的按钮列表,该参数分为三种形态 - //BtnEvent单按钮 - //Array按钮组 - //Array菜单按钮 - cmEvents:Array|Array>>|Array -} -//Title配置 -export interface TitleConfig{ - //Title配置ID名(唯一) - mId:string; - //基础模块 - mFileModel:CAXModel - //功能模块 - mModels:Map> -} -//菜单配置 -export interface BaseMenu{ - str:string - icon:string - tips:string - event:string -} \ No newline at end of file diff --git a/entry/src/main/ets/pages/LayoutData/TitleLayoutData.ets b/entry/src/main/ets/pages/LayoutData/TitleLayoutData.ets deleted file mode 100644 index 79a30a4d..00000000 --- a/entry/src/main/ets/pages/LayoutData/TitleLayoutData.ets +++ /dev/null @@ -1,129 +0,0 @@ -import { - BaseMenu, - Model, - TitleConfig , - CAXModel, - GroupEvent, - Menu, - BtnEvent, -}from './TitleInterface' - -export let GroupMenu:Array=[ - {str:'增功能',icon:'',tips:"",event:''}, - {str:'编辑组',icon:'',tips:"",event:''}, - {str:'改图标',icon:'',tips:"",event:''}, - {str:'重命名',icon:'',tips:"",event:''}, - {str:'移动到',icon:'',tips:"",event:''} -] -export let RowMenu:Array=[ - {str:'增加功能',icon:'',tips:"",event:''}, - {str:'编辑功能组',icon:'',tips:"",event:''}, - {str:'删除功能组',icon:'',tips:"",event:''}, - {str:'移动功能组',icon:'',tips:"",event:''} -] -export let MatrixModel:CAXModel= { - cmName:"应用模块",cmPage:"",cmTips:"",cmEvents:[ - [[{grpName:'模块矩阵',grpBtn:[ - {eModel:[Model.BASE],eName:"建模",eNamed:"",eIcon:"base_new_file",eTips:"",eEvent:"Switch_Model_CAD"}, - {eModel:[Model.BASE],eName:"加工",eNamed:"",eIcon:"base_open_file",eTips:"",eEvent:"Switch_Model_CAM"}, - {eModel:[Model.BASE],eName:"仿真",eNamed:"",eIcon:"base_save_file",eTips:"",eEvent:"Switch_Model_CAE"}, - ],grpMenu:RowMenu}] as Array - ]] -} - -export let TitleData:TitleConfig= { - mId:"0", - mFileModel: - {cmName:"文件",cmPage:"",cmTips:"",cmEvents:[ - {eModel:[Model.BASE],eName:"新建",eNamed:"",eIcon:"base_new_file",eTips:"",eEvent:""}, - {eModel:[Model.BASE],eName:"打开",eNamed:"",eIcon:"base_open_file",eTips:"",eEvent:""}, - {eModel:[Model.BASE],eName:"保存",eNamed:"",eIcon:"base_save_file",eTips:"",eEvent:""}, - {eModel:[Model.BASE],eName:"关闭",eNamed:"",eIcon:"base_close_file",eTips:"",eEvent:""}, - {eModel:[Model.BASE],eName:"导入",eNamed:"",eIcon:"base_import_file",eTips:"",eEvent:""}, - {eModel:[Model.BASE],eName:"导出",eNamed:"",eIcon:"base_export_file",eTips:"",eEvent:""}, - {eModel:[Model.BASE],eName:"选项",eNamed:"",eIcon:"base_preferences",eTips:"",eEvent:""}, - {eModel:[Model.BASE],eName:"帮助",eNamed:"",eIcon:"base_help",eTips:"",eEvent:""}, - {eModel:[Model.BASE],eName:"退出",eNamed:"",eIcon:"base_exit",eTips:"",eEvent:""}, - ]}, - mModels:new Map>([ - [0,[ - {cmName:'主页',cmPage:'',cmTips:'',cmEvents: [ - //数组表示非单个BtnEvent - [ - //数组成员区别是GroupEvent还是BtnEvent - [{grpName:'文件功能组',grpBtn:[ - {eModel:[Model.BASE],eName:"新建",eNamed:"",eIcon:"base_new_file",eTips:"",eEvent:""}, - {eModel:[Model.BASE],eName:"打开",eNamed:"",eIcon:"base_open_file",eTips:"",eEvent:""}, - [ - {eModel:[Model.BASE],eName:"保存",eNamed:"",eIcon:"base_save_file",eTips:"",eEvent:""}, - {eModel:[Model.BASE],eName:"另存为",eNamed:"",eIcon:"base_saveas_file",eTips:"",eEvent:""}, - {eModel:[Model.BASE],eName:"保存全部",eNamed:"",eIcon:"base_saveall_file",eTips:"",eEvent:""}, - ] as Array, - {eModel:[Model.BASE],eName:"关闭",eNamed:"",eIcon:"base_close_file",eTips:"",eEvent:""}, - {eModel:[Model.BASE],eName:"导入",eNamed:"",eIcon:"base_import_file",eTips:"",eEvent:""}, - {eModel:[Model.BASE],eName:"导出",eNamed:"",eIcon:"base_export_file",eTips:"",eEvent:""}, - {eModel:[Model.BASE],eName:"选项",eNamed:"",eIcon:"base_open_file",eTips:"",eEvent:""}, - {eModel:[Model.BASE],eName:"帮助",eNamed:"",eIcon:"base_help_file",eTips:"",eEvent:""}, - ],grpMenu:RowMenu}] as Array - ] - ]},MatrixModel]], - [1,[ - {cmName:'建模',cmPage:'',cmTips:'',cmEvents: [ - //数组表示非单个BtnEvent - [ - //数组成员区别是GroupEvent还是BtnEvent - [{grpName:'基础模型',grpBtn:[ - {eModel:[Model.BASE],eName:"块",eNamed:"",eIcon:"base_new_file",eTips:"",eEvent:""}, - {eModel:[Model.BASE],eName:"圆柱",eNamed:"",eIcon:"base_open_file",eTips:"",eEvent:""}, - {eModel:[Model.BASE],eName:"圆锥",eNamed:"",eIcon:"base_close_file",eTips:"",eEvent:""}, - {eModel:[Model.BASE],eName:"球",eNamed:"",eIcon:"base_import_file",eTips:"",eEvent:""}, - {eModel:[Model.BASE],eName:"管道",eNamed:"",eIcon:"base_export_file",eTips:"",eEvent:""} - ],grpMenu:RowMenu}] as Array - ] - ]},MatrixModel]], - [2,[ - {cmName:'加工',cmPage:'',cmTips:'',cmEvents: [ - //数组表示非单个BtnEvent - [ - //数组成员区别是GroupEvent还是BtnEvent - [{grpName:'文件功能组',grpBtn:[ - {eModel:[Model.BASE],eName:"新建",eNamed:"",eIcon:"base_new_file",eTips:"",eEvent:""}, - {eModel:[Model.BASE],eName:"打开",eNamed:"",eIcon:"base_open_file",eTips:"",eEvent:""}, - [ - {eModel:[Model.BASE],eName:"保存",eNamed:"",eIcon:"base_save_file",eTips:"",eEvent:""}, - {eModel:[Model.BASE],eName:"另存为",eNamed:"",eIcon:"base_saveas_file",eTips:"",eEvent:""}, - {eModel:[Model.BASE],eName:"保存全部",eNamed:"",eIcon:"base_saveall_file",eTips:"",eEvent:""}, - ] as Array, - {eModel:[Model.BASE],eName:"关闭",eNamed:"",eIcon:"base_close_file",eTips:"",eEvent:""}, - {eModel:[Model.BASE],eName:"导入",eNamed:"",eIcon:"base_import_file",eTips:"",eEvent:""}, - {eModel:[Model.BASE],eName:"导出",eNamed:"",eIcon:"base_export_file",eTips:"",eEvent:""}, - {eModel:[Model.BASE],eName:"选项",eNamed:"",eIcon:"base_open_file",eTips:"",eEvent:""}, - {eModel:[Model.BASE],eName:"帮助",eNamed:"",eIcon:"base_help_file",eTips:"",eEvent:""}, - ],grpMenu:RowMenu}] as Array - ] - ]},MatrixModel]], - [3,[ - {cmName:'仿真',cmPage:'',cmTips:'',cmEvents: [ - //数组表示非单个BtnEvent - [ - //数组成员区别是GroupEvent还是BtnEvent - [{grpName:'文件功能组',grpBtn:[ - {eModel:[Model.BASE],eName:"新建",eNamed:"",eIcon:"base_new_file",eTips:"",eEvent:""}, - {eModel:[Model.BASE],eName:"打开",eNamed:"",eIcon:"base_open_file",eTips:"",eEvent:""}, - [ - {eModel:[Model.BASE],eName:"保存",eNamed:"",eIcon:"base_save_file",eTips:"",eEvent:""}, - {eModel:[Model.BASE],eName:"另存为",eNamed:"",eIcon:"base_saveas_file",eTips:"",eEvent:""}, - {eModel:[Model.BASE],eName:"保存全部",eNamed:"",eIcon:"base_saveall_file",eTips:"",eEvent:""}, - ] as Array, - {eModel:[Model.BASE],eName:"关闭",eNamed:"",eIcon:"base_close_file",eTips:"",eEvent:""}, - {eModel:[Model.BASE],eName:"导入",eNamed:"",eIcon:"base_import_file",eTips:"",eEvent:""}, - {eModel:[Model.BASE],eName:"导出",eNamed:"",eIcon:"base_export_file",eTips:"",eEvent:""}, - {eModel:[Model.BASE],eName:"选项",eNamed:"",eIcon:"base_open_file",eTips:"",eEvent:""}, - {eModel:[Model.BASE],eName:"帮助",eNamed:"",eIcon:"base_help_file",eTips:"",eEvent:""}, - ],grpMenu:RowMenu}] as Array - ] - ]},MatrixModel]] - ]) -} - -export { TitleConfig, CAXModel } diff --git a/entry/src/main/ets/pages/LayoutInterface/Interface/TitleButtonInterface.ets b/entry/src/main/ets/pages/LayoutInterface/Interface/TitleButtonInterface.ets new file mode 100644 index 00000000..9e983acb --- /dev/null +++ b/entry/src/main/ets/pages/LayoutInterface/Interface/TitleButtonInterface.ets @@ -0,0 +1,10 @@ +import { TitleModelType } from "../Layout/TitleModelType" + +export interface TitleButton { + eModel:Array + eName:string + eNamed:string + eIcon:string + eTips:string + eEvent:string +} \ No newline at end of file diff --git a/entry/src/main/ets/pages/LayoutInterface/Interface/TitleGroupInterface.ets b/entry/src/main/ets/pages/LayoutInterface/Interface/TitleGroupInterface.ets new file mode 100644 index 00000000..1b558b08 --- /dev/null +++ b/entry/src/main/ets/pages/LayoutInterface/Interface/TitleGroupInterface.ets @@ -0,0 +1,12 @@ +import { TitleMenu } from "./TitleMenuInterface"; +import { TitleButton } from "./TitleButtonInterface"; + +//功能组 +export interface TitleGroup{ + //功能组名字 + grpName:string; + //按钮列表 + grpBtn:Array> + //功能组菜单 + grpMenu:Array +} \ No newline at end of file diff --git a/entry/src/main/ets/pages/LayoutInterface/Interface/TitleInterface.ets b/entry/src/main/ets/pages/LayoutInterface/Interface/TitleInterface.ets new file mode 100644 index 00000000..5feed05a --- /dev/null +++ b/entry/src/main/ets/pages/LayoutInterface/Interface/TitleInterface.ets @@ -0,0 +1,11 @@ +import { TitleModel } from "./TitleModelInterface"; + +//Title配置 +export interface TitleInterface{ + //Title配置ID名(唯一) + mId:string; + //基础模块 + mFileModel:TitleModel + //功能模块 + mModels:Map> +} diff --git a/entry/src/main/ets/pages/LayoutInterface/Interface/TitleMenuInterface.ets b/entry/src/main/ets/pages/LayoutInterface/Interface/TitleMenuInterface.ets new file mode 100644 index 00000000..45b72d7b --- /dev/null +++ b/entry/src/main/ets/pages/LayoutInterface/Interface/TitleMenuInterface.ets @@ -0,0 +1,6 @@ +export interface TitleMenu{ + mName:string + mIcon:string + mTips:string + mEvent:string +} \ No newline at end of file diff --git a/entry/src/main/ets/pages/LayoutInterface/Interface/TitleModelInterface.ets b/entry/src/main/ets/pages/LayoutInterface/Interface/TitleModelInterface.ets new file mode 100644 index 00000000..0341f838 --- /dev/null +++ b/entry/src/main/ets/pages/LayoutInterface/Interface/TitleModelInterface.ets @@ -0,0 +1,18 @@ +import { TitleButton } from "./TitleButtonInterface" +import { TitleGroup } from "./TitleGroupInterface" + +export interface TitleModel{ + //模块名 + cmName:string + //模块路由页面 + cmPage:string + //模块提示 + cmTips:string + //模块布局数据 + //第一个Array为TabContent的行数 + //第二个Array为单行的按钮列表,该参数分为三种形态 + //BtnEvent单按钮 + //Array按钮组 + //Array菜单按钮 + cmEvents:Array|Array>>|Array +} \ No newline at end of file diff --git a/entry/src/main/ets/pages/LayoutInterface/Layout/TitleCAD.ets b/entry/src/main/ets/pages/LayoutInterface/Layout/TitleCAD.ets new file mode 100644 index 00000000..e69de29b diff --git a/entry/src/main/ets/pages/LayoutInterface/Layout/TitleCAE.ets b/entry/src/main/ets/pages/LayoutInterface/Layout/TitleCAE.ets new file mode 100644 index 00000000..e69de29b diff --git a/entry/src/main/ets/pages/LayoutInterface/Layout/TitleCAM.ets b/entry/src/main/ets/pages/LayoutInterface/Layout/TitleCAM.ets new file mode 100644 index 00000000..e69de29b diff --git a/entry/src/main/ets/pages/LayoutInterface/Layout/TitleFileModel.ets b/entry/src/main/ets/pages/LayoutInterface/Layout/TitleFileModel.ets new file mode 100644 index 00000000..f51f6160 --- /dev/null +++ b/entry/src/main/ets/pages/LayoutInterface/Layout/TitleFileModel.ets @@ -0,0 +1,15 @@ +import { TitleModel } from "../Interface/TitleModelInterface"; +import { TitleModelType } from "./TitleModelType"; + +//文件Bar->Menus +export let TitleFileMenuModel:TitleModel={cmName:"文件",cmPage:"",cmTips:"",cmEvents:[ + {eModel:[TitleModelType.BASE],eName:"新建",eNamed:"",eIcon:"base_new_file",eTips:"",eEvent:""}, + {eModel:[TitleModelType.BASE],eName:"打开",eNamed:"",eIcon:"base_open_file",eTips:"",eEvent:""}, + {eModel:[TitleModelType.BASE],eName:"保存",eNamed:"",eIcon:"base_save_file",eTips:"",eEvent:""}, + {eModel:[TitleModelType.BASE],eName:"关闭",eNamed:"",eIcon:"base_close_file",eTips:"",eEvent:""}, + {eModel:[TitleModelType.BASE],eName:"导入",eNamed:"",eIcon:"base_import_file",eTips:"",eEvent:""}, + {eModel:[TitleModelType.BASE],eName:"导出",eNamed:"",eIcon:"base_export_file",eTips:"",eEvent:""}, + {eModel:[TitleModelType.BASE],eName:"选项",eNamed:"",eIcon:"base_preferences",eTips:"",eEvent:""}, + {eModel:[TitleModelType.BASE],eName:"帮助",eNamed:"",eIcon:"base_help",eTips:"",eEvent:""}, + {eModel:[TitleModelType.BASE],eName:"退出",eNamed:"",eIcon:"base_exit",eTips:"",eEvent:""}, +]} \ No newline at end of file diff --git a/entry/src/main/ets/pages/LayoutInterface/Layout/TitleGroupMenu.ets b/entry/src/main/ets/pages/LayoutInterface/Layout/TitleGroupMenu.ets new file mode 100644 index 00000000..6bba1c35 --- /dev/null +++ b/entry/src/main/ets/pages/LayoutInterface/Layout/TitleGroupMenu.ets @@ -0,0 +1,9 @@ +import { TitleMenu } from "../Interface/TitleMenuInterface"; + +export let GroupMenu:Array=[ + {mName:'增功能',mIcon:'',mTips:"",mEvent:''}, + {mName:'编辑组',mIcon:'',mTips:"",mEvent:''}, + {mName:'改图标',mIcon:'',mTips:"",mEvent:''}, + {mName:'重命名',mIcon:'',mTips:"",mEvent:''}, + {mName:'移动到',mIcon:'',mTips:"",mEvent:''} +] \ No newline at end of file diff --git a/entry/src/main/ets/pages/LayoutInterface/Layout/TitleMainPage.ets b/entry/src/main/ets/pages/LayoutInterface/Layout/TitleMainPage.ets new file mode 100644 index 00000000..a07144a2 --- /dev/null +++ b/entry/src/main/ets/pages/LayoutInterface/Layout/TitleMainPage.ets @@ -0,0 +1,21 @@ +import { TitleButton } from "../Interface/TitleButtonInterface"; +import { TitleGroup } from "../Interface/TitleGroupInterface"; +import { TitleModelType } from "./TitleModelType"; +import { TitleRowMenu } from "./TitleRowMenu"; + +//主页Bar +export let MainPageModel:Array= + [{grpName:'文件功能组',grpBtn:[ + {eModel:[TitleModelType.BASE],eName:"新建",eNamed:"",eIcon:"base_new_file",eTips:"",eEvent:""}, + {eModel:[TitleModelType.BASE],eName:"打开",eNamed:"",eIcon:"base_open_file",eTips:"",eEvent:""}, + [ + {eModel:[TitleModelType.BASE],eName:"保存",eNamed:"",eIcon:"base_save_file",eTips:"",eEvent:""}, + {eModel:[TitleModelType.BASE],eName:"另存为",eNamed:"",eIcon:"base_saveas_file",eTips:"",eEvent:""}, + {eModel:[TitleModelType.BASE],eName:"保存全部",eNamed:"",eIcon:"base_saveall_file",eTips:"",eEvent:""}, + ] as Array, + {eModel:[TitleModelType.BASE],eName:"关闭",eNamed:"",eIcon:"base_close_file",eTips:"",eEvent:""}, + {eModel:[TitleModelType.BASE],eName:"导入",eNamed:"",eIcon:"base_import_file",eTips:"",eEvent:""}, + {eModel:[TitleModelType.BASE],eName:"导出",eNamed:"",eIcon:"base_export_file",eTips:"",eEvent:""}, + {eModel:[TitleModelType.BASE],eName:"选项",eNamed:"",eIcon:"base_open_file",eTips:"",eEvent:""}, + {eModel:[TitleModelType.BASE],eName:"帮助",eNamed:"",eIcon:"base_help_file",eTips:"",eEvent:""}, + ],grpMenu:TitleRowMenu}] as Array \ No newline at end of file diff --git a/entry/src/main/ets/pages/LayoutInterface/Layout/TitleMatrixModel.ets b/entry/src/main/ets/pages/LayoutInterface/Layout/TitleMatrixModel.ets new file mode 100644 index 00000000..99660f0e --- /dev/null +++ b/entry/src/main/ets/pages/LayoutInterface/Layout/TitleMatrixModel.ets @@ -0,0 +1,14 @@ +import { TitleGroup } from '../Interface/TitleGroupInterface' +import {TitleModel} from '../Interface/TitleModelInterface' +import { TitleRowMenu } from './TitleRowMenu' +import { TitleModelType } from './TitleModelType' + +export let MatrixModel:TitleModel= { + cmName:"应用模块",cmPage:"",cmTips:"",cmEvents:[ + [[{grpName:'模块矩阵',grpBtn:[ + {eModel:[TitleModelType.BASE],eName:"建模",eNamed:"",eIcon:"base_new_file",eTips:"",eEvent:"Switch_Model_CAD"}, + {eModel:[TitleModelType.BASE],eName:"加工",eNamed:"",eIcon:"base_open_file",eTips:"",eEvent:"Switch_Model_CAM"}, + {eModel:[TitleModelType.BASE],eName:"仿真",eNamed:"",eIcon:"base_save_file",eTips:"",eEvent:"Switch_Model_CAE"}, + ],grpMenu:TitleRowMenu}] as Array + ]] +} \ No newline at end of file diff --git a/entry/src/main/ets/pages/LayoutInterface/Layout/TitleModelType.ets b/entry/src/main/ets/pages/LayoutInterface/Layout/TitleModelType.ets new file mode 100644 index 00000000..a4b67c12 --- /dev/null +++ b/entry/src/main/ets/pages/LayoutInterface/Layout/TitleModelType.ets @@ -0,0 +1,6 @@ +export enum TitleModelType{ + CAD, + CAM, + CAE, + BASE +}; \ No newline at end of file diff --git a/entry/src/main/ets/pages/LayoutInterface/Layout/TitleRowMenu.ets b/entry/src/main/ets/pages/LayoutInterface/Layout/TitleRowMenu.ets new file mode 100644 index 00000000..057e8cc0 --- /dev/null +++ b/entry/src/main/ets/pages/LayoutInterface/Layout/TitleRowMenu.ets @@ -0,0 +1,8 @@ +import { TitleMenu } from "../Interface/TitleMenuInterface"; + +export let TitleRowMenu:Array=[ + {mName:'增加功能',mIcon:'',mTips:"",mEvent:''}, + {mName:'编辑功能组',mIcon:'',mTips:"",mEvent:''}, + {mName:'删除功能组',mIcon:'',mTips:"",mEvent:''}, + {mName:'移动功能组',mIcon:'',mTips:"",mEvent:''} +] \ No newline at end of file diff --git a/entry/src/main/ets/pages/LayoutInterface/Layout/TitleTabContent.ets b/entry/src/main/ets/pages/LayoutInterface/Layout/TitleTabContent.ets new file mode 100644 index 00000000..0f8053f4 --- /dev/null +++ b/entry/src/main/ets/pages/LayoutInterface/Layout/TitleTabContent.ets @@ -0,0 +1,150 @@ +import { TitleFileMenuModel } from './TitleFileModel' +import { TitleInterface } from '../Interface/TitleInterface' +import { TitleModel } from '../Interface/TitleModelInterface' +import { MainPageModel } from './TitleMainPage' +import { MatrixModel } from './TitleMatrixModel' +import { TitleModelType } from './TitleModelType' +import { TitleGroup } from '../Interface/TitleGroupInterface' +import { TitleRowMenu } from './TitleRowMenu' +import { TitleButton } from '../Interface/TitleButtonInterface' + +export let TitleData:TitleInterface= { + mId:"0", + mFileModel:TitleFileMenuModel, + mModels:new Map>([ + [0,[{cmName:'主页',cmPage:'',cmTips:'',cmEvents: [[MainPageModel]]},MatrixModel]], + [1,[{cmName:'主页',cmPage:'',cmTips:'',cmEvents: [[MainPageModel]]}, + {cmName:'建模',cmPage:'',cmTips:'',cmEvents: [ + //数组表示非单个BtnEvent + [ + //数组成员区别是GroupEvent还是BtnEvent + [{grpName:'基础模型',grpBtn:[ + {eModel:[TitleModelType.BASE],eName:"块",eNamed:"",eIcon:"base_new_file",eTips:"",eEvent:""}, + {eModel:[TitleModelType.BASE],eName:"圆柱",eNamed:"",eIcon:"base_open_file",eTips:"",eEvent:""}, + {eModel:[TitleModelType.BASE],eName:"圆锥",eNamed:"",eIcon:"base_close_file",eTips:"",eEvent:""}, + {eModel:[TitleModelType.BASE],eName:"球",eNamed:"",eIcon:"base_import_file",eTips:"",eEvent:""}, + {eModel:[TitleModelType.BASE],eName:"管道",eNamed:"",eIcon:"base_export_file",eTips:"",eEvent:""} + ],grpMenu:TitleRowMenu}] as Array + ] + ]}, + {cmName:'曲面',cmPage:'',cmTips:'',cmEvents: [ + //数组表示非单个BtnEvent + [ + //数组成员区别是GroupEvent还是BtnEvent + [{grpName:'基础模型',grpBtn:[ + {eModel:[TitleModelType.BASE],eName:"块",eNamed:"",eIcon:"base_new_file",eTips:"",eEvent:""}, + {eModel:[TitleModelType.BASE],eName:"圆柱",eNamed:"",eIcon:"base_open_file",eTips:"",eEvent:""}, + {eModel:[TitleModelType.BASE],eName:"圆锥",eNamed:"",eIcon:"base_close_file",eTips:"",eEvent:""}, + {eModel:[TitleModelType.BASE],eName:"球",eNamed:"",eIcon:"base_import_file",eTips:"",eEvent:""}, + {eModel:[TitleModelType.BASE],eName:"管道",eNamed:"",eIcon:"base_export_file",eTips:"",eEvent:""} + ],grpMenu:TitleRowMenu}] as Array + ] + ]}, + {cmName:'曲线',cmPage:'',cmTips:'',cmEvents: [ + //数组表示非单个BtnEvent + [ + //数组成员区别是GroupEvent还是BtnEvent + [{grpName:'基础模型',grpBtn:[ + {eModel:[TitleModelType.BASE],eName:"块",eNamed:"",eIcon:"base_new_file",eTips:"",eEvent:""}, + {eModel:[TitleModelType.BASE],eName:"圆柱",eNamed:"",eIcon:"base_open_file",eTips:"",eEvent:""}, + {eModel:[TitleModelType.BASE],eName:"圆锥",eNamed:"",eIcon:"base_close_file",eTips:"",eEvent:""}, + {eModel:[TitleModelType.BASE],eName:"球",eNamed:"",eIcon:"base_import_file",eTips:"",eEvent:""}, + {eModel:[TitleModelType.BASE],eName:"管道",eNamed:"",eIcon:"base_export_file",eTips:"",eEvent:""} + ],grpMenu:TitleRowMenu}] as Array + ] + ]}, + {cmName:'同步建模',cmPage:'',cmTips:'',cmEvents: [ + //数组表示非单个BtnEvent + [ + //数组成员区别是GroupEvent还是BtnEvent + [{grpName:'基础模型',grpBtn:[ + {eModel:[TitleModelType.BASE],eName:"块",eNamed:"",eIcon:"base_new_file",eTips:"",eEvent:""}, + {eModel:[TitleModelType.BASE],eName:"圆柱",eNamed:"",eIcon:"base_open_file",eTips:"",eEvent:""}, + {eModel:[TitleModelType.BASE],eName:"圆锥",eNamed:"",eIcon:"base_close_file",eTips:"",eEvent:""}, + {eModel:[TitleModelType.BASE],eName:"球",eNamed:"",eIcon:"base_import_file",eTips:"",eEvent:""}, + {eModel:[TitleModelType.BASE],eName:"管道",eNamed:"",eIcon:"base_export_file",eTips:"",eEvent:""} + ],grpMenu:TitleRowMenu}] as Array + ] + ]}, + {cmName:'分析',cmPage:'',cmTips:'',cmEvents: [ + //数组表示非单个BtnEvent + [ + //数组成员区别是GroupEvent还是BtnEvent + [{grpName:'基础模型',grpBtn:[ + {eModel:[TitleModelType.BASE],eName:"块",eNamed:"",eIcon:"base_new_file",eTips:"",eEvent:""}, + {eModel:[TitleModelType.BASE],eName:"圆柱",eNamed:"",eIcon:"base_open_file",eTips:"",eEvent:""}, + {eModel:[TitleModelType.BASE],eName:"圆锥",eNamed:"",eIcon:"base_close_file",eTips:"",eEvent:""}, + {eModel:[TitleModelType.BASE],eName:"球",eNamed:"",eIcon:"base_import_file",eTips:"",eEvent:""}, + {eModel:[TitleModelType.BASE],eName:"管道",eNamed:"",eIcon:"base_export_file",eTips:"",eEvent:""} + ],grpMenu:TitleRowMenu}] as Array + ] + ]}, + {cmName:'显示',cmPage:'',cmTips:'',cmEvents: [ + //数组表示非单个BtnEvent + [ + //数组成员区别是GroupEvent还是BtnEvent + [{grpName:'基础模型',grpBtn:[ + {eModel:[TitleModelType.BASE],eName:"块",eNamed:"",eIcon:"base_new_file",eTips:"",eEvent:""}, + {eModel:[TitleModelType.BASE],eName:"圆柱",eNamed:"",eIcon:"base_open_file",eTips:"",eEvent:""}, + {eModel:[TitleModelType.BASE],eName:"圆锥",eNamed:"",eIcon:"base_close_file",eTips:"",eEvent:""}, + {eModel:[TitleModelType.BASE],eName:"球",eNamed:"",eIcon:"base_import_file",eTips:"",eEvent:""}, + {eModel:[TitleModelType.BASE],eName:"管道",eNamed:"",eIcon:"base_export_file",eTips:"",eEvent:""} + ],grpMenu:TitleRowMenu}] as Array + ] + ]}, + {cmName:'首选项',cmPage:'',cmTips:'',cmEvents: [ + //数组表示非单个BtnEvent + [ + //数组成员区别是GroupEvent还是BtnEvent + [{grpName:'基础模型',grpBtn:[ + {eModel:[TitleModelType.BASE],eName:"块",eNamed:"",eIcon:"base_new_file",eTips:"",eEvent:""}, + {eModel:[TitleModelType.BASE],eName:"圆柱",eNamed:"",eIcon:"base_open_file",eTips:"",eEvent:""}, + {eModel:[TitleModelType.BASE],eName:"圆锥",eNamed:"",eIcon:"base_close_file",eTips:"",eEvent:""}, + {eModel:[TitleModelType.BASE],eName:"球",eNamed:"",eIcon:"base_import_file",eTips:"",eEvent:""}, + {eModel:[TitleModelType.BASE],eName:"管道",eNamed:"",eIcon:"base_export_file",eTips:"",eEvent:""} + ],grpMenu:TitleRowMenu}] as Array + ] + ]},MatrixModel]], + [2,[{cmName:'主页',cmPage:'',cmTips:'',cmEvents: [[MainPageModel]]}, + {cmName:'加工',cmPage:'',cmTips:'',cmEvents: [ + //数组表示非单个BtnEvent + [ + //数组成员区别是GroupEvent还是BtnEvent + [{grpName:'加工环境',grpBtn:[ + {eModel:[TitleModelType.BASE],eName:"重置环境",eNamed:"",eIcon:"base_new_file",eTips:"",eEvent:""}, + {eModel:[TitleModelType.BASE],eName:"工艺",eNamed:"",eIcon:"base_open_file",eTips:"",eEvent:""}, + [ + {eModel:[TitleModelType.BASE],eName:"切削参数",eNamed:"",eIcon:"base_save_file",eTips:"",eEvent:""}, + {eModel:[TitleModelType.BASE],eName:"切削速度",eNamed:"",eIcon:"base_saveas_file",eTips:"",eEvent:""}, + {eModel:[TitleModelType.BASE],eName:"主轴参数",eNamed:"",eIcon:"base_saveall_file",eTips:"",eEvent:""}, + ] as Array, + {eModel:[TitleModelType.BASE],eName:"显示刀路",eNamed:"",eIcon:"base_close_file",eTips:"",eEvent:""}, + {eModel:[TitleModelType.BASE],eName:"新建工序",eNamed:"",eIcon:"base_import_file",eTips:"",eEvent:""}, + {eModel:[TitleModelType.BASE],eName:"新建刀具",eNamed:"",eIcon:"base_export_file",eTips:"",eEvent:""}, + {eModel:[TitleModelType.BASE],eName:"选项",eNamed:"",eIcon:"base_open_file",eTips:"",eEvent:""}, + ],grpMenu:TitleRowMenu}] as Array + ] + ]},MatrixModel]], + [3,[{cmName:'主页',cmPage:'',cmTips:'',cmEvents: [[MainPageModel]]}, + {cmName:'仿真',cmPage:'',cmTips:'',cmEvents: [ + //数组表示非单个BtnEvent + [ + //数组成员区别是GroupEvent还是BtnEvent + [{grpName:'初始化仿真',grpBtn:[ + {eModel:[TitleModelType.BASE],eName:"导入模型",eNamed:"",eIcon:"base_new_file",eTips:"",eEvent:""}, + {eModel:[TitleModelType.BASE],eName:"导出模型",eNamed:"",eIcon:"base_new_file",eTips:"",eEvent:""}, + {eModel:[TitleModelType.BASE],eName:"设定仿真环境",eNamed:"",eIcon:"base_open_file",eTips:"",eEvent:""}, + [ + {eModel:[TitleModelType.BASE],eName:"环境参数",eNamed:"",eIcon:"base_save_file",eTips:"",eEvent:""}, + {eModel:[TitleModelType.BASE],eName:"力学参数",eNamed:"",eIcon:"base_saveas_file",eTips:"",eEvent:""}, + {eModel:[TitleModelType.BASE],eName:"化学参数",eNamed:"",eIcon:"base_saveall_file",eTips:"",eEvent:""}, + ] as Array, + {eModel:[TitleModelType.BASE],eName:"选项",eNamed:"",eIcon:"base_open_file",eTips:"",eEvent:""}, + {eModel:[TitleModelType.BASE],eName:"帮助",eNamed:"",eIcon:"base_help_file",eTips:"",eEvent:""}, + ],grpMenu:TitleRowMenu}] as Array + ] + ]},MatrixModel]] + ]) +} + +export { TitleInterface, TitleModel } diff --git a/entry/src/main/ets/pages/TitleTabLayout/TitleTab.ets b/entry/src/main/ets/pages/TitleTabLayout/TitleTab.ets index c784b05b..c24ef669 100644 --- a/entry/src/main/ets/pages/TitleTabLayout/TitleTab.ets +++ b/entry/src/main/ets/pages/TitleTabLayout/TitleTab.ets @@ -4,8 +4,9 @@ import { AddFormMenuItem } from '@ohos.arkui.advanced.FormMenu'; import { SceneResourceType } from '@kit.ArkGraphics3D'; //导入布局模块 -import {TitleData,TitleConfig,CAXModel} from '../LayoutData/TitleLayoutData' -import { BtnEvent, GroupEvent } from '../LayoutData/TitleInterface' +import {TitleData, TitleModel} from '../LayoutInterface/Layout/TitleTabContent' +import { TitleButton } from '../LayoutInterface/Interface/TitleButtonInterface' +import { TitleGroup } from '../LayoutInterface/Interface/TitleGroupInterface' import {TitleTabContent} from './TitleTabContent' @ComponentV2 @@ -14,13 +15,14 @@ export struct TitleTab { private titleBarTabs: TabsController = new TabsController(); //当前的顶部导航选择页 @Local titleBarFocusIndex: number = 0; + //TabBar默认焦点 @Local titleBarDefaultFocusIndex: number = 0; - @Local currentModel:Array|undefined= TitleData.mModels.get(0) - + //模块Bar栏 + @Provider('curtModel') curtModel:Array|undefined= TitleData.mModels.get(0) @Builder - FileMenu(menus: Array) { + FileMenu(menus: Array) { Menu() { - ForEach(menus, (item: BtnEvent, index: number) => { + ForEach(menus, (item: TitleButton, index: number) => { MenuItem({ startIcon: $r('app.media.'+item.eIcon), content: item.eName }) .width('150') .margin({ @@ -40,10 +42,10 @@ export struct TitleTab { .height(25) .width(60) .padding(5) - .bindMenu(this.FileMenu(TitleData.mFileModel.cmEvents as Array)) + .bindMenu(this.FileMenu(TitleData.mFileModel.cmEvents as Array)) .type(ButtonType.Normal) .backgroundColor(Color.Brown) - ForEach(this.currentModel, (item: CAXModel, index: number) => { + ForEach(this.curtModel, (item: TitleModel, index: number) => { Button(item.cmName) .fontWeight(index === this.titleBarFocusIndex ? FontWeight.Bold : FontWeight.Normal) .height(25) @@ -54,7 +56,7 @@ export struct TitleTab { .onClick(() => { this.titleBarTabs.changeIndex(index); this.titleBarFocusIndex = index; - this.currentModel=TitleData.mModels.get(index); + //this.currentModel=TitleData.mModels.get(index); }) }) } @@ -65,9 +67,9 @@ export struct TitleTab { .margin({ top: 2,left:2,bottom:2,right:2}) .width('100%') Tabs({barPosition: BarPosition.Start, index: this.titleBarDefaultFocusIndex,controller: this.titleBarTabs}){ - ForEach(this.currentModel,(item:CAXModel, index: number)=>{ + ForEach(this.curtModel,(item:TitleModel, index: number)=>{ TabContent() { - TitleTabContent({tabLayout:item.cmEvents as Array|Array>>}) + TitleTabContent({tabLayout:item.cmEvents as Array|Array>>}) }.align(Alignment.Start) .padding(1) .margin({ top: 0,left:0,bottom:2,right:0}) diff --git a/entry/src/main/ets/pages/TitleTabLayout/TitleTabContent.ets b/entry/src/main/ets/pages/TitleTabLayout/TitleTabContent.ets index efad276b..a356ef80 100644 --- a/entry/src/main/ets/pages/TitleTabLayout/TitleTabContent.ets +++ b/entry/src/main/ets/pages/TitleTabLayout/TitleTabContent.ets @@ -1,47 +1,52 @@ import { hilog } from '@kit.PerformanceAnalysisKit'; -import { BaseMenu, BtnEvent, GroupEvent } from '../LayoutData/TitleInterface'; +import { TitleButton} from '../LayoutInterface/Interface/TitleButtonInterface'; +import { TitleGroup} from '../LayoutInterface/Interface/TitleGroupInterface'; import {GroupTextEventMenu} from '../CustomStyle/StyleMenu' -import {EventButton,EventBtnMenu} from '../CustomStyle/StyleButton' - +import {EventBtn,MenuBtn} from '../CustomStyle/StyleButton' @ComponentV2 export struct TitleTabContent { - @Param tabLayout:Array|Array>>=[]; + @Param tabLayout:Array|Array>>=[]; build() { //垂直布局展示多行 Column({ space: 0 }) { //迭代生成行容器 - ForEach(this.tabLayout, (row_items: Array|Array>, index: number) => { + ForEach(this.tabLayout, (row_items: Array|Array>, mIndex: number) => { //行的按钮组容器 Row(){ - ForEach(row_items, (row_item: BtnEvent|Array|Array, index: number) => { + ForEach(row_items, (row_item: TitleButton|Array|Array, index: number) => { //首先判断是否为数组.如果不为数组者为BtnEvent if(!Array.isArray(row_item)){ //单按钮 - EventButton({btn:row_item}) - }else if(row_item instanceof Array){ + EventBtn({eventBtn:row_item}) + }else if(row_item instanceof Array){ //功能组,迭代多个功能组 - ForEach(row_item, (group_item: GroupEvent, index: number) =>{ + ForEach(row_item, (group_item: TitleGroup, index: number) =>{ Column({ space: 5 }){ Row({ space: 1 }){ - ForEach(group_item.grpBtn, (btn_item: BtnEvent|Array, index: number) =>{ + ForEach(group_item.grpBtn, (btn_item: TitleButton|Array, index: number) =>{ //如果是数组则为菜单按钮否则为单功能按钮 if(Array.isArray(btn_item)){ - EventBtnMenu({btnMenus:btn_item}) + MenuBtn({menuBtn:btn_item}) }else{ - EventButton({btn:btn_item}) + //针对最后一个Bar特化处理.如果为最后一个Bar则在子组件Image真假onClick事件 + if(mIndex==this.tabLayout.length-1){ + EventBtn({eventBtn:btn_item,modelType:1}) + }else{ + EventBtn({eventBtn:btn_item}) + } } }) }.margin({ top: 1,left:1,bottom:1,right:1}) //功能组名 - GroupTextEventMenu({grpName:group_item.grpName,grpMenus:group_item.grpMenu}) + GroupTextEventMenu({grpEvent:group_item}) }.borderWidth(1) .borderColor(Color.Grey) }) }else{ //菜单按钮 Column(){ - Button((row_item as Array)[0].eName) + Button((row_item as Array)[0].eName) .height('95%') .width('50') .padding('1')