Power Apps 一个实际案例 -3 - 实现出借管理

接上一节,本节将介绍出借管理的实现。直接进入主题:

出借管理表单的各个字段已经在上一节统一添加到了Excel 文件中,本节的基本思路是通过一个列表页面来显示所有设备借用申请,点击某个申请则进入这个申请的具体管理页面。

1. 添加用来管理借用申请列表的页面,关联好数据源,设置好布局。

1.1 插入菜单的新下直接选择列表类型屏幕。

Power Apps 一个实际案例 -3 - 实现出借管理_第1张图片

1.2 修改一下新屏幕的名字以及其下的TemplateGalleryList1,便于以后的识别。

Power Apps 一个实际案例 -3 - 实现出借管理_第2张图片

1.3 和上一节相似的操作,把BorrowGalleryList 的数据源关联到Excel表,然后为列表添加几个关键字段。

这里添加了借用人、设备名和借用日期几个字段,效果如下:

Power Apps 一个实际案例 -3 - 实现出借管理_第3张图片

2. 添加相关的按钮控件, 设置操作逻辑(主要是考虑用户的操作方便性)。

2.1 在列表页面顶部添加返回和退出按钮

返回(<): OnSelect = Back();  退出(X): OnSelect = Exit()

2.2 设置点中表单中每个条目后的跳转

选中 BorrowGalleryList1 控件,设置 OnSelect = Navigate(BorrowMgmt)。 这里的BorrowMgmt页面是接下来要创建的。

3. 添加一个新的屏幕页面 BorrowMgmt, 用来记录出借管理信息。 

3.1 新建一个空白页面,插入一个编辑模式的窗体(Form),然后把窗体的数据源关联到Excel。

3.2 根据纸质表单的样式,选择所需的字段并进行布局。添加"提交"和"返回"两个按钮,结果如下:

同时可以看到,每个字段都对应到窗体里的一个卡片,以下面选中的申请人为例,卡片名称叫"requester_DataCard2"。 所有的卡片都位于窗体EditForm2的下一级。

Power Apps 一个实际案例 -3 - 实现出借管理_第4张图片

4. 实现记录管理页面的操作逻辑

对于编辑类型的窗体,要将编辑完成的数据提交到数据源,最关键的是需要设置表单里每个卡片的Update属性值。从上面的截屏里可以看到,出借记录管理页面的窗体里主要有四类卡片, 其类型及相应的Update属性值设置方法如下: 

卡片Update属性值的设置
卡片类型 属性值设置
文本输入 Update = <文本输入框控件名>.Text
日期 Update = <日期拾取控件名>.SelecteDate
复选框 Update = <复选框控件名称>.Value
签字用的钢笔输入 Update = <钢笔输入控件名称>.Image

逐个卡片设置完Update属性后,还需设置两个按钮的OnSelect属性。

  • 提交按钮: OnSelect  = If(IsBlank(DataCardValue18.Text),Navigate(FaNotification), SubmitForm(EditForm2);ResetForm(EditForm2);NewForm(EditForm2));Navigate(SubmitSuccess)

这里的DataCardValue18对应的是资产编号卡片,由于资产编号是必填项,这里首先通过IsBlank() 函数来判断这个资产编号输入框里是否填写了数据,如果没有填,则跳转到FaNotification页面(如下图)提示用户返回填写; 否则,也就是已经填写了资产编号数据, 则执行SubmitForm()命令,将EditForm2里的数据进行提交。

Power Apps 一个实际案例 -3 - 实现出借管理_第5张图片

成功提交后,跳转到提交成功的提示页面。

Power Apps 一个实际案例 -3 - 实现出借管理_第6张图片

运行App, 输入相应的数据并提交,检查Excel文件,可以看到相应的数据已经写入。

注意,两个签名的图片是以一个地址链接的形式存储在Excel文件里的。

同时,可以看到在OneDrive 里自动生成了一个book_images文件夹,里面存储的就是签名图片。

Power Apps 一个实际案例 -3 - 实现出借管理_第7张图片

Power Apps 一个实际案例 -3 - 实现出借管理_第8张图片

至此,就实现了出借的管理功能,也就是把出借信息存储到了后台的OneDrive。

---------------------------------------------分节线--------------------------------------------------

接下来我们一起来看如何查看已出借的设备,也就是如何从OneDrive读取出对应的信息。

具体步骤和上面的第三步和第四步非常相似:新建一个页面,添加相关控件,然后设置控件属性,最后添加按钮实现操作逻辑。

区别在于,相比第三步在新建空白页面里添加的是一个可编辑的窗体,此处需要添加一个“显示”窗体,因为我们只需要在页面上显示数据。

Power Apps 一个实际案例 -3 - 实现出借管理_第9张图片

具体的:

1. 新建一个空白页面,改名叫BorrowDetail,然后在页面上插入一个显示窗体。

2. 选中窗体,关联数据源,添加字段,然后调整各个字段在页面上的布局。最后做出的效果如下(添加的底色是为了更清楚的显示每个控件在页面上占据的位置):

Power Apps 一个实际案例 -3 - 实现出借管理_第10张图片

这里有一点需要特别处理的就是两个签名控件,需要在相应的卡片里添加一个图片类型的控件。用来显示存储在OneDrive里的图片。

Power Apps 一个实际案例 -3 - 实现出借管理_第11张图片

3. 返回到设备借用申请列表界面, 处理一个页面跳转的问题。

在这个列表页面上,我们在最开始设置了点击列表条目后跳转到出借管理界面。现在我们还需要通过点击条目跳转到显示这个条目的出借信息界面。为此,我们通过添加不同的按钮来实现。考虑到后续还有归还的管理和查看,在这里就把按钮一并添加好。效果如下:

Power Apps 一个实际案例 -3 - 实现出借管理_第12张图片

然后我们需要设置每个按钮的属性来实现按钮点击具体功能: 

  • 查看出借按钮: OnS elect = Navigate(BorrowDetail, ScreenTransition.None, {displayItem:ThisItem}), 其效果为,在跳转到BorrowDetail 页面的同时,将ThisItem对象以displayItem变量的形式传递了进去。
  • 出借管理按钮: 对之前在条目上点击直接进入出借管理界面的操作逻辑做了优化,具体的OnSelect =   If(IsBlank(ThisItem.faSN),EditForm(EditForm2);Navigate(BorrowMgmt, ScreenTransition.None, {editItem:ThisItem}),Navigate(BorrowedScreen)), 也就是先判断资产编号是否存在,如果不存在资产编号就跳转到出借管理界面进行出借管理。否则就跳转到新建的一个设备已出借的提示页面(BorrowedScreen)。

4. 返回设备出借查看页面,设置各个控件的属性,用来从数据源获取数据。

很简单,只要检查并设置每个卡片的Default 属性为 displayItem.<当前卡片对应到Excel里的列名>就行。

注意: 这里使用的displayItem也就是上一步在列表页面所点击的某个具体条目。它是通过上一步所设置的按钮的OnSelect所传递过来的。

测试一下,在列表清单页面上点击第一个条目上的查看"出借按钮",可以看到可以成功的读取到之前管理出借时输入的数据:

Power Apps 一个实际案例 -3 - 实现出借管理_第13张图片

 

 

你可能感兴趣的:(Microsoft,Power,Apps,power,app,microsoft)