alan7
(alan)
2025 年3 月 17 日 07:28
1
请仔细说明自己遇到的问题,以下是参考模板。这里不要求非得按模板发帖,但内容中包含相关要素能让大家更好地帮助你。
遇到的问题
用OB做一个招聘管理系统,想要实现:
有人才笔记,笔记以姓名命名,属性中用“状态”表示进度:初试,复试,终试,结束
有职位笔记,以职位名命名,职位属性中有“状态”:开始,进行中,暂停,完成
一个人可能在多个职位中,是不同的状态,如在职位A中状态是“初试”,职位B状态是“终试”
如何在人名的笔记中通过属性表示在不同的职位中的不同状态,从而可以通过 dataview 筛选,以在职位中展示目前人才的名单和状态,在人才笔记中展示参与的职位列表和进展。
大家有什么好的解决方法吗?谢谢!
把这个丢给AI就行,下面是把你的问题丢给AI的答案,先声明我没试过,初步看了下,大致的方案没问题,可能有语法错误。
以下是在 Obsidian 中使用 Dataview 实现招聘管理系统的详细步骤和代码示例:
1. 建立人才笔记和职位笔记的基本结构
人才笔记
为每个候选人创建一个以其姓名命名的笔记文件,在文件开头使用 YAML 格式定义属性。以下是一个示例:
---
状态: 初试
职位状态:
- 职位A: 初试
- 职位B: 终试
---
# [候选人姓名]
这里可以记录候选人的详细信息,如简历内容、面试评价等。
在这个示例中,状态
属性表示该候选人整体的招聘进度,职位状态
是一个包含多个键值对的列表,每个键值对表示候选人在不同职位中的状态。
职位笔记
为每个职位创建一个以职位名命名的笔记文件,同样在文件开头使用 YAML 格式定义属性:
---
状态: 进行中
---
# [职位名称]
这里可以记录职位的详细信息,如职位描述、要求等。
2. 使用 Dataview 进行筛选和展示
在职位笔记中展示目前人才的名单和状态
在职位笔记中,使用以下 Dataview 查询代码来展示当前参与该职位招聘的人才名单和他们的状态:
TABLE WITHOUT ID file.link AS 姓名, 职位状态.[[职位名称]] AS 状态
FROM "人才笔记文件夹路径"
WHERE contains(职位状态, [[职位名称]])
请将 "人才笔记文件夹路径"
替换为实际存放人才笔记的文件夹路径,[[职位名称]]
替换为当前职位笔记的名称。这段代码会从指定文件夹中筛选出所有参与该职位招聘的人才笔记,并显示他们的姓名和在该职位中的状态。
在人才笔记中展示参与的职位列表和进展
在人才笔记中,使用以下 Dataview 查询代码来展示该候选人参与的所有职位列表和进展:
TABLE WITHOUT ID key AS 职位, value AS 状态
FROM "职位笔记文件夹路径"
FLATTEN file.frontmatter.职位状态 as item
WHERE file.name = this.file.name
RETURN item.key, item.value
请将 "职位笔记文件夹路径"
替换为实际存放职位笔记的文件夹路径。这段代码会从指定文件夹中筛选出该候选人参与的所有职位笔记,并显示职位名称和对应的招聘状态。
3. 注意事项
确保 Dataview 插件已在 Obsidian 中正确安装和启用。
笔记文件的路径和名称要准确无误,否则查询可能无法正常工作。
如果 YAML 属性的格式或命名发生变化,需要相应地调整 Dataview 查询代码。
通过以上步骤和代码,你可以在 Obsidian 中实现一个简单的招聘管理系统,方便地管理和查看人才和职位的招聘状态。
alan7
(alan)
2025 年3 月 17 日 16:13
3
谢谢回复!
按照这个设置,返回错误,问了AI,给出的修正也查询不到结果