# 报警提示条

> 报警提示条组件的参考：它的三种呈现方式、每一项属性，以及报警如何在它上面被确认。

**报警提示条**显示报警清单里未处理的那一部分：每一条处于活动状态、或者仍在等待确认的报警，优先级最差的排在前面，同一优先级内最早的排在前面。它是唯一直接读取这份清单的组件，没有地址要绑定，所以它的面板只问这份清单显示多少、怎么显示。它同时也是操作员答复报警的地方：在一幅全屏的仪表画面上，没有别的页面可以走过去，所以确认按钮就长在提示条本身上。

## 呈现方式 {#presentations}

**显示**这项属性在三种形态里挑一种。三种都是同一份读数的三种大小；下面那个严重程度下限和行数上限是在读取清单的时候就应用的，所以摘要绝不会数进一条它旁边的列表被告知要略去的报警。

| 选项 | 它画出什么 |
|---|---|
| 每一条未处理的报警 | 每条报警一行，写着它的名称、状态和优先级，以及它变为活动的日期和时间，确认功能打开时每行还带一个**确认**按钮。 |
| 一行说明全部 | 一句话，比如 `2 条活动（1 条未确认）`。 |
| 各严重程度各有多少条 | 每个还有未处理报警的严重程度一个小块，最差的在前，各写着自己的总数，确认功能打开时还写着未确认的条数。什么也没挂着的严重程度不画小块。 |

行上的日期和时间是这条报警当前这次活动开始的那一刻，按工作站的日期和时间格式显示：它是一个固定的时刻，不是报警已经挂了多久的计时。一条已经复归、却还锁着的报警，在它那一行等待确认期间一直保留这个日期和时间。

标题栏上始终带着那行摘要。提示条什么也不显示时，它写**没有活动报警**；而已确认的那些行还在从列表里慢慢退出去的时候，它写的是**全部已确认**，这样标题栏就不会在还看得见行的时候报出一个安静的现场。

## 属性 {#properties}

| 属性 | 作用 | 取值 | 默认 |
|---|---|---|---|
| 显示 | 呈现方式，如上。 | 每一条未处理的报警 · 一行说明全部 · 各严重程度各有多少条 | 每一条未处理的报警 |
| 显示到 | 提示条还显示到哪一个最不严重的优先级。优先级是最差的排在前面，所以这是一个严重程度下限。它属于读数，不属于绘制：低于这个下限的报警，从各行、从摘要、从计数、从确认里一并出局。 | 仅严重 · 高及以上 · 中及以上 · 全部优先级 | 全部优先级 |
| 最多行数 | 列表那种呈现方式画多少行。超过上限的部分在列表下面数出来（`还有 3 条报警没有显示。`），绝不悄悄丢掉。只有列表那种呈现方式才问这一项。 | 1 到 200 | 20 |
| 写出哪些还等着确认，并提供确认它们的按钮 | 一个开关管着确认的两半：说明还有什么等着答复的那些标记（摘要里未确认的那一半、小块上的未确认条数、行上的那个标记），以及给出答复的那些按钮（每行的**确认**和标题栏的**全部确认**）。关掉之后提示条纯粹是给人看的；在一台全屏的工作站上，那也把答复报警的唯一途径一并拿掉了。报警自己那套状态机在做什么，绝不会被这个开关藏起来。 | 开 / 关 | 开 |
| 同时按严重程度计数 | 在另外两种呈现方式的摘要旁边加上按严重程度分的那些小块。按严重程度那种呈现方式不提供这一项，因为它本来就是由这些小块组成的。 | 开 / 关 | 关 |

键入的行数超出 1 到 200 这个区间时按最近的边界取，面板在字段旁边说明这一点；不是数字的文字则让当前的上限独自继续生效。

## 确认 {#acknowledging}

每一次确认都走逻辑队列，并且和任何一次操作员确认一样记入日志。

- 行上的**确认**答复那一条报警。已经答复过的行显示一个对勾，而不是一个已经用掉的按钮。提示条比它的行窄时，每一行的**确认**（或那个对勾）停在提示条的右边缘，行的其余部分从它底下横向滑过；所以日期和时间要把这一行横向滑动才能读到。
- 标题栏里的**全部确认**答复提示条所读到的全部内容，经由同一个出口，一条报警一条报警地走。严重程度下限照样生效，提示条绝不会答复一条它被告知不要显示的报警；行数上限则不生效，因为上限限制的是绘制，而摘要已经把压下不显示的部分数进去了。随后答复行写出确认了多少条；这一连串写入如果中途停下，它写的是走到了哪里（`5 条中已确认 2 条`），而不是让剩下的默不作声地挂在那里。
- 在列表那种呈现方式上，只有不止一条报警等着答复时才出现**全部确认**（只有一条时，那一行自己的按钮就已经是这条命令了）。两种摘要不画任何行，所以在那里只要有一条报警在等，标题栏上的按钮就出现。

一次确认把某一行从读数里拿掉之后（一条已经复归、却还锁着的报警），画出来的那些位置会静止大约两秒，连着按的一串最多静止六秒，好让手指底下的那一行仍然是刚才被答复的那一行。这期间新产生的报警照样画在上限还剩下的地方；摘要、计数以及应用的其余部分照常运行。正在退出的那一行画成一副在路上的样子，而不是留着一个它已经不该再有的未确认标记；它的日期和时间也空着，因为它的报警已经回到正常，再没有一次活动可记。

## 权限 {#permission}

确认要用到登录的本地用户所属角色的**操作仪表画面**权限；在一个单元的 Process 画面上，把关的则是**运行流程**权限，和那幅画面上承载的每一条命令一样。没有这项权限时，提示条戴上共用的锁标记，按钮的提示里带着理由，不过只有在确实提供了答复、并且确实有东西在等答复的时候才这样：一条只给人看的提示条，或者一条什么也没挂着的提示条，是一份读数，而一份读数并不宣称这台工作站不许下命令。每一次按下的临时结果都写在提示条本身上，全屏的仪表画面把状态栏藏起来之后，这里是仅剩的那块地方。
