> ## Documentation Index
> Fetch the complete documentation index at: https://help.dingtalk.io/llms.txt
> Use this file to discover all available pages before exploring further.

# 签到

> 本文介绍了如何通过宜搭与连接器结合来查询员工的签到情况，包括创建查询结果表、创建查询签到记录表以及配置集成自动化等步骤。

宜搭与连接器结合可实现提交表单查询员工签到情况，包括是否签到，签到时间，签到地点等信息。本文介绍如何通过表单查询员工签到信息。

## 准备工作

在开始之前，你需要先创建一个应用，操作步骤请参考[创建应用](/zh/yida/app-admin/oncnoy)。

## 流程总览

在本文中，你将创建两张普通表单，其中一张用于记录查询结果，一张用于触发连接器。本文操作步骤如下：

* 步骤一：创建查询结果表
* 步骤二：创建查询签到记录表
* 步骤三：配置集群自动化
* 步骤四：在查询结果表中接收数据
* 步骤五：测试验证

### 实现效果

本文最终实现效果如下：

<Frame>
  ![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/gif/1715766129583-5e72b4cd-b5d6-4d8b-bfa2-8cb49a550f53.gif)
</Frame>

## 步骤一：创建查询结果表

1. 登录 宜搭工作台 ，选择目标应用，单击进入应用编辑页。
2. 依次单击 + > 新建普通表单 ，选择 新建空白页面 ，修改表单名称为 查询结果 。
3. 在中央画布区分别拖入一个 单行文本 组件、一个 子表单 组件和一个 成员 组件。
4. 将 成员 组件命名为 签到人 。
5. 将 单行文本 组件命名为 暂存连接器数据 ，并将可见状态设置为隐藏。

<Frame>
  ![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1715766334061-d2af3d36-b752-4fa5-8554-344bf7bd21de.png)
</Frame>

6. 将 子表单 组件命名为 签到记录 。
7. 在 子表单 组件内分别拖入三个 单行文本 组件。
8. 将 单行文本 组件分别命名为 签到时间 、 签到地点 和 签到备注 。
9. 单击右上角保存，完成配置。

<Frame>
  ![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1715766407385-cfc7ca52-377d-4474-8dbc-3c3126805b33.png)
</Frame>

## 步骤二：创建**查询签到记录表**

1. 在应用编辑页，依次单击 + > 新建流程表单 ，选择 新建空白页面 ，修改表单名称为 查询签到记录 。
2. 在中央画布区拖入两个 日期 组件、一个成员组件。
3. 将 日期 组件分别命名为开 始时间 和 结束时间 ，设置校验规则为 必填 ，设置格式为 年-月-日 时:分:秒 。

<Frame>
  ![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1715655670646-f5c3416d-9db8-4aa7-a32f-dd542dc2e257.png)
</Frame>

4. 将 成员 组件命名为 签到人 ，并设置校验规则为 必填 。
5. 单击右上角 保存 ，完成表单基本配置。

## 步骤三：配置集成自动化

1. 返回应用编辑页，单击顶部 集成&自动化 。
2. 单击新建 集成&自动化 ，选择 从空白新建 。
3. 在对话框内设置集成自动化名称，选择触发类型为 表单事件触发 ，表单为步骤二创建的查询签到记录表。

<Frame>
  ![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1715753429960-6c3d618f-ffc3-45eb-a391-2e5f01bfbb09.png)
</Frame>

<Steps>
  <Step title="单击 表单事件触发 ，选择触发事件为 创建成功 ，单击 保存">
    <Frame>
      ![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1715753722146-6c42a368-6df5-4420-9c14-375569c25a98.png)
    </Frame>
  </Step>

  <Step title="单击表单触发事件下方 + 加号，选择 连接器">
    <Note>
      将光标移动刀触发事件下方即可看到`+`加号。
    </Note>

    <Frame>
      ![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1715753818236-c43d1c7e-995c-4be4-8cc3-48aa48362ecb.png)
    </Frame>
  </Step>

  <Step title="参考以下步骤，配置 连接器 节点" />
</Steps>

**开始时间**对应表单提交后的**开始时间**，**结束时间**对应表单提交后的**结束时间**，**查询用户列表**对应表单提交后的**签到人**。

<Frame>
  ![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1715755305231-5449b5ba-ffb2-4849-be77-33d21cc8696f.png)
</Frame>

7. 单击 连接器 节点下方 **+** 加号，添加 脚本 节点。
8. 参考以下步骤，配置脚本节点。

<Frame>
  ![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1715757277834-4d9fda17-feaa-4638-b4ed-f4f7ba7a3b51.png)
</Frame>

```javascript theme={"theme":{"light":"github-light","dark":"github-dark"}}
var checkinRecordJson = checkinRecord?JSON.parse(checkinRecord):[];
var tableData = checkinRecordJson.map(function(item) {
return {
    // 将textField_lw5sacjg修改为查询结果表中签到时间的组件ID
    textField_lw5sacjg: item.checkin_time,
    // 将textField_lw5sacji修改为查询结果表中签到地点的组件ID
    textField_lw5sacji: item.detail_place,
    // 将textField_lw5sacjk修改为查询结果表中签到备注的组件ID
    textField_lw5sacjk: item.remark
  };
});
outputs.add("签到","tableData",JSON.stringify(tableData))
```

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
[
    {
        "checkin_time": 1715582068000,
        "detail_place": "浙江省杭州市余杭区高教路959号",
        "remark": "简单签到",
        "place": "三维未来park",
        "userid": "123456789",
        "image_list": []
    }
]
```

<video controls preload="metadata" poster="https://lark-video.oss-cn-hangzhou.aliyuncs.com/outputs/prod/yuque/2024/2692022/mp4/1715760063424-8949c870-2553-4463-81b3-dd0d26da3eb6.png?OSSAccessKeyId=LTAI4GKnqTWmz2X8mzA1Sjbv&Expires=1773380902&Signature=4HaiT%2BZ0x5bHPiN7WvxAYPPNc2E%3D" src="https://yida-support.oss-cn-shanghai.aliyuncs.com/static/mp4/1715760063424-8949c870-2553-4463-81b3-dd0d26da3eb6.mp4" />

<Steps>
  <Step title="单击 脚本 节点下方 + 号，添加 新增数据 节点，然后参考以下步骤，进行配置">
    <Frame>
      ![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1715763438917-9e6c379e-6967-4172-8cb8-2763adb3d0d4.png)
    </Frame>
  </Step>

  <Step title="单击右上角 发布 按钮，完成配置" />
</Steps>

## 步骤四：在查询结果表中接收数据

1. 进入查询结果表单编辑页。
2. 打开 JS动作面板 ，添加以下代码，并根据代码注释修改代码内容。

```javascript theme={"theme":{"light":"github-light","dark":"github-dark"}}
export function didMount() {
  // 修改textField_lw4ffhbf为暂存连接器数据组件的组件ID。
  const str = this.$("textField_lw4ffhbf").getValue();

  const value = JSON.parse(str);
  // 修改tableField_lw5sacjc为子表单的组件ID。
  this.$('tableField_lw5sacjc').setValue(value);

}
```

3. 单击右上角 保存 ，完成配置。

## 步骤五：测试验证

1. 进入应用编辑页，单击查询 结果表单 ，单击右侧生成数据管理页。
2. 设置数据管理页的 页面名称 和 分组 。
3. 单击右上角 访问 ，访问应用。
4. 单击 查询签到记录 ，输入需要查询的签到人信息和时间，单击 提交 。
5. 进入结果表单的数据管理页进行查看。

如下图所示，已成功查询用户的签到记录。

<Frame>
  ![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/gif/1715766129583-5e72b4cd-b5d6-4d8b-bfa2-8cb49a550f53.gif)
</Frame>

## 相关文档

* 集成&自动化
* 新建表单
* 表单组件
* 获取用户签到记录
* 脚本节点
