上一期我们讲到阿彪和阿杰一起通过 Power Apps 创建了库存管理的应用原型。本期阿彪他们将继续完成剩下的知识库和日程表应用原型。(依旧是动手实操哦)
知识库
针对知识库这个场景通常是现场技术人员会经常用到,所以阿彪去请教了老温。打算问问老温这个最有经验的同志(在公司待的时间最长)有什么想法。
老温听到以后跃跃欲试,打算自己去用 Power Apps 做一个应用,他想要先做一个简单的界面,让用户可以直接输入关键词去搜索知识库文章。阿杰这时候提醒他搜索知识库的过程会用到 Azure 认知搜索的服务,不过你不用去操心怎么实现,先去搭用户界面就行。
于是老温和阿彪一起开启了幸福的低代码之旅:
首先阿彪打算接着上回的库存管理去做,所以他登陆到 Power Apps 的站点,以编辑模式打开了昨天制作的 Power Apps 应用 VA。
![](https://forum.power-platform.cn/assets/files/2022-03-16/1647419104-555814-4f3253d7e410c48630a93a14bbc0fee6.png)
然后阿彪告诉老温,可以直接在 Power Apps 插入一个模板的页面,这样就不需要完全从头开始制作应用了。(看来阿彪经过上一期之后,在晚上偷偷努力来着)
![](https://forum.power-platform.cn/assets/files/2022-03-16/1647419114-436616-d0194d72437dc0457f596f2faa407790.png)
之后老温在插入的列表屏幕中,先把标题改成了应用的主题“知识库”。
(老温自己双击就更改了,都没有请教阿彪和阿杰)
![](https://forum.power-platform.cn/assets/files/2022-03-16/1647419125-267583-8aa7de905cccc25f50df674a05199645.png)
之后老温发现界面中将右上角的+图标没有用,因为不需要让现场技术人员在 APP 中可以添加知识库内容。于是他直接把 + 图标给删除了。
![](https://forum.power-platform.cn/assets/files/2022-03-16/1647419135-240818-efacf7b686b97fcfd946328fa9795af7.png)
但删除以后,老温发现界面突然出现了很多错误。这时候阿彪偷偷一笑,赶紧说到:“这是因为页面中有一些控件的宽高或者位置计算是依赖于你刚才删除的图标控件,所以你把图标控件删除以后,其他控件找不到依赖内容,自然就报错了”(这是阿彪在昨天刚学到,现学现卖)。
于是在阿彪的帮助下,老温找到了其他几个出错的控件,并按照提示进行了相应的修改。
![](https://forum.power-platform.cn/assets/files/2022-03-16/1647419145-317141-5ceb19db8b05486ba2c76699f2285126.png)
就在这时老温突然接到了一个咨询电话,有事情紧急需要老温的支持。老温一看知识库的应用原型也差不多完成了,就跟阿彪说了一声,自己忙别的去了。
至此老温和阿彪已经完成了一个基本的知识库应用原型。
没有办法,阿彪只能先去做下一个日程表的场景。
日程表这款经常会由办公室接待员阿豪操作,于是阿彪去找了下阿豪问了下想法,阿豪希望这个应用可以直接显示当前已有的预约日程安排,但是他不想自己动手,于是就给阿彪提供了一份 Excel 数据源里面有一些示例数据。让阿彪直接根据这个 Excel 去创建应用就可以。
![](https://forum.power-platform.cn/assets/files/2022-03-16/1647419163-123097-9bf8f021fad1e9fb96317244232f9b07.png)
阿彪看阿豪没什么亲自动手的意愿,于是自己开始了日程表应用的创建。
首先他把Excel 存放到了 OneDrive 帐户中,命名为 Appointments.xlsx 。之后他打算去开始制作应用的界面,根据他这两天学到的知识。他知道可以通过数据源快速创建应用,就像是之前的库存管理一样,还有一种方式就是继续在当前的库存管理应用上手动去创建后面的内容。
他想了一下,决定偷下懒用第一种方式。于是阿彪点击左上角的文件,新建,选择了从 OneDrvice for Business 中快速创建应用,之后他轻车熟路的连接并选择了之前上传的 Appointments 表格数据。
![](https://forum.power-platform.cn/assets/files/2022-03-16/1647419180-745965-772f0d6a1418da315ab88b1dcf1135c6.png)
当 Power Apps 自动生成好应用界面以后,阿彪首先就把 Image 控件给删除了,因为预约日程里不太需要看到图片内容。
![](https://forum.power-platform.cn/assets/files/2022-03-16/1647419191-397694-1695fda1299c23a501e8a3dc0b78ad55.png)
当然删除后出现了一些依赖错误,阿彪熟练的根据 Power Apps 的提示解决了所有的错误内容。
然后他根据需要,对当前列表中显示的字段内容进行了修改,将 原先的 Customer ID 改为 Customer Name 。因为现场人员是肯定需要看到用户姓名的。
![](https://forum.power-platform.cn/assets/files/2022-03-16/1647419204-328715-ada4f88eabe5a4b3a3dc8847dbd97dfa.png)
另外他也调整了下 Gallery 控件(也就是中间的列表内容)的tems 属性中的表达式。主要目的是更改筛选和排序的规则,他将 Power Fx 公式进行了如下的修改:
SortByColumns(Filter([@Appointments], TextSearchBox1.Text in 'Customer Name' TextSearchBox1.Text in 'Appointment Date' TextSearchBox1.Text in 'Appointment Time'), "Appointment_x0020_Date", If(SortDescending1, Descending, Ascending))
这里用到 Filter 公式是因为 Search 公式不支持搜索日期,这块阿彪实际上是去请教了阿杰才知道的。
![](https://forum.power-platform.cn/assets/files/2022-03-16/1647419227-675344-e189d1ea18f0991a40a7194e094ff155.png)
在修改完筛选和排序后,阿彪将应用中没用的图标进行了删除
![](https://forum.power-platform.cn/assets/files/2022-03-16/1647419238-170234-d86d27b770e7d68077f9d025ee189fba.png)
然后再树状视图中为了更好的区分应用内容,给 BrowseScreen 屏幕重命名为 BrowseAppointme
![](https://forum.power-platform.cn/assets/files/2022-03-16/1647419250-198296-0aead34cbcd35689493b537443ee65f1.png)
并用同样的方式将BrowseGallery1控件的名称更改为BrowseAppointmentsGallery
这样做的目的是给控件一个更加友好和有意义的名称,会方面日后的查找和使用。
这样就完成了主屏幕,之后阿彪切换到详情页,他发现这里是个表单,但是里面显示的字段内容不符合要求,于是他把表单字段按照下面的呈现方式进行了修改:
• Customer Name
• Customer Address
• Contact Number
• Problem Details
• Status
• Notes
• Image
![](https://forum.power-platform.cn/assets/files/2022-03-16/1647419261-296806-41f8fcc4716eb7665afefcc4a6649b65.png)
并调整了 Notes_DataCard1 的高度
![](https://forum.power-platform.cn/assets/files/2022-03-16/1647419323-760152-986c0956df7ccea08e4f06aa462dc65f.png)
之后阿彪把多余的图标进行了删除,并且将 DetailsScreen1 重命名为 AppointmentDetails。之后切换到了编辑界面,用同样的方式调整了下表单字段的显示内容:
• Customer Name
• Contact Number
• Problem Details
• Status
• Notes
• Image
![](https://forum.power-platform.cn/assets/files/2022-03-16/1647419342-678066-06565ce5e882eb2f5d7481429a5f4618.png)
只不过这里是更改界面,但是阿彪不想让现场人员可以对客户名称和联系方式进行更改,所以他将 Customer Name 和 Contact Number 设置成了只读
![](https://forum.power-platform.cn/assets/files/2022-03-16/1647419353-117815-bcc0a76f4cebda4052f98e257d9caa32.png)
并且为了用户更改时更加方便,阿彪将 Notes 改成了多行文本的方式,
![](https://forum.power-platform.cn/assets/files/2022-03-16/1647419370-808896-a2f8899d353e9086f9c4e78b5b5c0a9c.png)
并把 Status 改成允许值,这样用户就可以用下拉框的方式对状态进行修改,不用每次都重新输入文字内容。
![](https://forum.power-platform.cn/assets/files/2022-03-16/1647419382-692870-04c98a5ce2aea87c3a4e97fb1a5309ae.png)
只不过这里他需要选中 Status ,更改它的高级属性,将AllowedValues 改为
["已修复", "已订购零配件", "为解决"] ,这表示允许用户从这三个值里面进行选择。
![](https://forum.power-platform.cn/assets/files/2022-03-16/1647419394-704849-a6048d98b5faa5bf2525327d1db801cb.png)
然后阿彪将 EditScreen1 重命名为 EditAppointment.并把几个页面的标题改为“预约日程”,最后按 F5 测试了一下应用,确认应用可以正常地查看,搜索和编辑以后,他将将应用保存为 VA预约日程,结束了今天的工作。
![](https://forum.power-platform.cn/assets/files/2022-03-16/1647419414-765442-88cecf4dd5613dff453d5ed59db77efe.png)
截止目前为止,阿彪今天和老温,阿豪一起完成了知识库和预约日程表的应用原型。
明天他们会将几个完成的应用合并整理一下,以为接下来的后续工作进行更改的准备。