# 借还场景应用

借还场景需要状态和表单设置联合使用，实现借还流程自动管理。你可以查看下方教程，根据自己的需要制作，或直接使用草料已有模版：[物品借还登记](https://cli.im/template/detail/48885652 "物品借还登记")，实现同样的效果。

## 一、核心概念

- 状态面板  
  状态面板用于显示并管理某个事物目前处于什么状态。了解更多状态相关内容
- 表单填写限制  
  根据事物当前状态，决定能否填写某个表单。避免在错误时机填写。了解更多表单相关内容

## 二、结合使用能达到什么效果？

- 防止流程混乱  
  以借还为例： 当物品处于“可借”时才能填写借出表单，一旦提交后，该物品就自动变为“已借出”，避免重复借出。任何不符合流程的操作将被限制，从而实现“先干A，再干B”或者“只有当状态X时才能做Y”的需求。
- 提高效率  
  自动流转： 填表单后自动更新状态，无需人工来回沟通确认，节省时间。

![展示工具借还流程中“可借”与“已借出”两种状态下的操作面板差异，含填单、签名及状态自动变更逻辑](https://blogcdnimg.clewm.net/2025/01/手机端×2（编辑时修改名称）_17379489780556.png)

## 三、如何设置

以一个“物品的借用-归还-维修”示例展开说明

### 1. 在二维码上新增状态面板

- 物品状态面板：
    - 可借
    - 已借出
    - 损坏

![后台编辑器界面，含标题输入区、富文本工具栏及右侧功能面板，用于内容创作与管理](https://blogcdnimg.clewm.net/2025/01/Group-2018776389_17379489514853.png)

![状态管理配置界面，左侧为状态项列表（含名称、默认状态、描述要求等），右侧展示当前选中状态的详细信息与操作按钮](https://blogcdnimg.clewm.net/2025/01/Group-2018776390_17379489570305.png)

### 2. 创建操作表单

根据每个业务动作（如借用、归还、维修）创建相应的表单。  
以借还为例，需要三个表单：

- 借出表单
- 归还表单：归还表单需要添加组件**单选项**，标题是“归还时物品是否完好”，选项为“完好”和“已损坏”。
- 维修表单

其他表单内容根据你的业务需要去设置内容即可。

![后台编辑页面，展示标题输入区、工具栏及右侧状态面板的配置选项](https://blogcdnimg.clewm.net/2025/01/Group-2018776396_17379489701056.png)

![表单设计后台的“归还填写”配置界面，展示字段组件、单选题设置及提交规则等表单构建选项](https://blogcdnimg.clewm.net/2025/01/Group-2018776395_17379489649675.png)

### 3. 设置表单填写限制

核心思路： 只有当某个状态满足条件时，才允许填写对应的表单；否则表单需隐藏或禁用。

- 借出表单：仅当物品状态 = 可借时才能填写。
- 归还表单：仅当物品状态 = 已借出时才能填写。
- 维修表单：仅当物品状态 = 损坏时才能填写。

![这是“填写限制”设置页面，用于配置表单填写规则，如填写方式、次数、时间及状态等约束条件](https://blogcdnimg.clewm.net/2025/01/Group-2018776391_17379489606858.png)

### 4. 配置表单的状态变更规则

当表单被提交后，要自动更新对应的状态面板。

- 借出表单：有任何数据提交时 → 借用状态改为“已借出”
- 归还表单：提交后 → 如果“归还时物品是否完好”选择“完好”，则物品状态改为“可借”；如果选择“损坏”，则物品状态改为“损坏”
- 维修表单：提交后 → 物品状态改为“可借”。

![状态更新规则配置界面，用于设定二维码/工具状态变更时的自动触发逻辑及对应操作](https://blogcdnimg.clewm.net/2025/01/Group-2018776397_17379489741823.png)

## 四、总结

**核心原理： 利用「状态面板」来显示事物当前所处的阶段，借助「表单填写限制」控制每个阶段能执行哪些操作，再用表单的「状态变更规则」实现填写表单自动更改状态**。  
这种搭配使用可以应用到多个场景中。

### 报修流程场景：

状态面板设置为“完好、故障”，添加两个表单：“报修单”“维修单”。

- “报修单”填写后，状态变更为“故障”；
- “维修单”填写后，状态变更为“完好”；
- 状态“完好”时，才可填写“报修单”；
- 状态“故障”时，才可填写“维修单”；

### 工序流转场景

状态面板设置为多个工序状态，“未开始”“A环节已完成”“B环节已完成”，“C环节已完成”......  
表单为：“A环节完成后上报”“B环节完成后上报”“C环节完成后上报”......

- “A环节完成后上报”填写后，状态变更为“A环节已完成”
- “B环节完成后上报”填写后，状态变更为“B环节已完成”
- “C环节完成后上报”填写后，状态变更为“C环节已完成”......
- 状态处于“未开始”时，才可填写“A环节完成后上报”
- 状态处于“A环节已完成”时，才可填写“B环节完成后上报”
- 状态处于“B环节已完成”时，才可填写“C环节完成后上报”...... 这样可以实现“先干A，再干B，再干C.....”按顺序完成任务，并记录在系统中。
