本文主要是介绍【工程导向】FA Calibration System Development Documents,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Management System based on PowerApps & PowerAutomate
- 系统简介
- 1.Lab Overview
- 2.Personal Information
- 3.Search Equipments
- 4.Manage Equipments
- 补充描述
- 1.Power Apps关键代码
- 2.待解决问题
系统简介
该管理系统依赖于MS的低代码开发平台PowerApps开发,主体功能为管理相关测试设备的信息,包括但不限于设备名称、设备号、设备负责人、设备生产厂家、设备状态、最新维护时间等。系统主体功能分为四个模块,分别是:Lab Overview、Personal Information、Serach Equipments、Manage Equipments。主要使用者为部门管理者以及各设备负责人(开发者、管理员、用户),数据库选型为SharePoint List。PA组件部分参考链接:PA应用内弹窗。
相关页面:HOME
1.Lab Overview
具体需求待定,目前暂定可用于查看不同场地的设备提示信息。后续一级子页面均由左边部分的导航栏和右边部分的内容栏构成。
相关页面:Overview
2.Personal Information
功能描述:用于查看当前登录用户的负责设备情况(负责资产数、待校准设备数、使用中设备数),同时在该页展示各条目的简略信息,并提供单点跳转功能,可实现对于单条记录的修改。
相关页面:
-
Personal:,提供个人相关记录的查看和修改,主要为设备负责人(用户)使用,跳转页为Item。
-
Item:二级子页面,供个人用户修改当前记录的部分信息(可修改内容由管理员决定),当前场景下可修改信息为Plan Calibration Time、Location、Equipment Status。
3.Search Equipments
功能描述:提供多种交叉查询,当前支持的关键词列表如图所示。同时还提供将查询的结果导出为Excel表格的功能,其中EXPORT button会执行PowerAutomate的Instant Flow(Export File)。
相关页面:Serach
4.Manage Equipments
功能描述:该页面使用者为系统管理员,同时也是该系统的核心功能。提供页面内修改部分数据、交叉查询、添加新数据、跳转修改全文数据的功能,同时支持单点邮件发送(Email Icon)以及根据查询结果弹出群发邮件选项(Send Email button)。
**注意:**该页面由多个组件共同构成,分别执行完成提示、选择弹窗功能,组件开发位置为Screens的同级界面Components,如下分别为选项弹窗、保存提醒和邮件发送提醒。
相关页面:
-
Manage:
-
Edit_Item
-
New_Item
补充描述
1.Power Apps关键代码
获得当前登录用户管理的设备
Filter(// para:source, logic test, ...MycolGrid,Office365Users.MyProfile().DisplayName in Responsible.DisplayName
)
获得交叉查询后的DataTable
Filter(// para:source, logic test, ...MycolGrid,('MTE NO._TextInput'.Text in 'MTE No.' || 'MTE NO._TextInput'.Text in "") // The function of || is Ensure that the column element index can be nullAnd (CalibrationNum_TextInput.Text in 'Calibration No.' || CalibrationNum_TextInput.Text in "") And (Responsible_TextInput.Text in 'Responsible People' || Responsible_TextInput.Text in "") And ('Asset Name_TextInput'.Text in 'Asset Name' || 'Asset Name_TextInput'.Text in "") And ('Asset No._TextInput'.Text in 'Asset No.' || 'Asset No._TextInput'.Text in "") And If(!(Locaiton_Dropdown.SelectedText.Value = "All"),Locaiton_Dropdown.SelectedText.Value = Location, true)
)
将修改后的结果保存到List
ForAll(// para:source, formulaFilter(Gallery2.AllItems,iconEdit.Value = true),Patch(// para: source, record, update, ...MycolGrid,ThisRecord,// The following are the updated results{'Equipment name': body_EquipmentName,'Equipment status': body_EquipmentStatus,'MTE No.': body_MTENo,'Calibration No.': body_CalibrationNo,'Calibration Status': body_CalibrationStatus,'Responsible People': body_ResonsiblePeople,'Register 2021': DatePicker2021.SelectedDate,'Register 2022': DatePicker2022.SelectedDate,'Register 2023': DatePicker2023.SelectedDate,Location: body_Location.Text})
);
Set(varVisible,true
)
进入Editable Gallery状态
If(varGridEdit,// This variable controls the status of editable tablePatch(COMBINE831,MycolGrid)
);
Select(btnLoadData);
Set(varGridEdit,!varGridEdit
);
Refresh(COMBINE831)
2.待解决问题
- 导出文件中文解码出现乱码,原因为PA不提供免费的UTF-8解码格式。缓兵之计为将保存下来的文件用记事本打开,可以看到解码正常,然后将文件另存为,保持csv文件格式,在编码选项栏选择UTF-8 with BOM,之后即可得到正常打开的CSV文件。
- Register判定代码需要每年一更新,添加新的列和部分代码。
这篇关于【工程导向】FA Calibration System Development Documents的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!