检索主键下待办事项

检索主键下待办事项

根据主键下页面待办事项数量,在数据库中一个显示效果(根据最新思源笔记使用,其他版本应该不行,最新版更改了 SQL 语法)

三种显示效果:

  1. 完成(代表该页面待办事项勾选框已全部勾选)
  2. 跟进(代表还未开始勾选)
  3. 进度条加比值(代表勾选一部分)
.action{ if index . "custom-avs" } .action{ $id := .id } .action{ $remaining := len (queryBlocks "with RECURSIVE finish_tree AS ( SELECT id, parent_id FROM blocks WHERE root_id = '?' and (markdown like '- [x]%' OR markdown like '* [x]%') and type = 'i' and subtype = 't' UNION ALL SELECT fi.id, fi.parent_id FROM blocks as fi INNER JOIN finish_tree as ft ON fi.parent_id = ft.id ) ,un_finish_parent AS ( SELECT id, parent_id FROM blocks WHERE root_id = '?' and type = 'l' and id in ( select parent_id from blocks where root_id = '?' and (markdown like '- [ ]%' OR markdown like '* [ ]%') and type = 'i' and subtype = 't' ) ) select * from blocks where id not in (select parent_id from un_finish_parent ) and id not in (select id from finish_tree) and root_id = '?' and type = 'i' and subtype = 't'" $id $id $id $id ) } .action{ $total := len (queryBlocks "SELECT * FROM blocks WHERE root_id = '?' AND type = 'i' AND subtype = 't' AND id not in (SELECT parent_id FROM blocks WHERE type = 'l')" $id) } .action{ $done := sub $total $remaining } .action{ if eq $done 0 } <div style="display: flex; align-items: center; justify-content: flex-start; width: 100%; height: 100%;"> <span style="font-size: 1em; color: #f44336; font-weight: bold;">跟进</span> </div> .action{ else } .action{ if eq $remaining 0 } <div style="display: flex; align-items: center; justify-content: flex-start; width: 100%; height: 100%;"> <span style="font-size: 1em; color: #2e7d32; font-weight: bold;">完成</span> </div> .action{ else } .action{ $input := ternary 0 (div (mul 100 $done) $total) (eq $total 0) } .action{ $denominator := 100 } .action{ $show_number := true } .action{ $display_mode := ternary "none" "flex" (eq $input nil) } .action{ $progress := ternary 0 (div (mul 100 ($input | int)) $denominator) (eq $input nil) } .action{ $progress = ternary 100 $progress (gt $progress 100) } .action{ $pi := 3.14159265358979323846264338327950288 } .action{ $circumference := mulf 2 $pi 9 } .action{ $mainOffset := subf $circumference (mulf (divf $progress 100) $circumference) } .action{ $extraPadding := mulf $circumference 0.04 } .action{ $bgOffsetLeft := subf $mainOffset $extraPadding } .action{ $bgOffsetRight := subf $mainOffset (divf $extraPadding 2) } <div style="display: flex; align-items: center; justify-content: flex-start; width: 100%; height: 100%;"> <div style="display: flex; flex-direction: row; align-items: center; justify-content: flex-start; gap: 4px; line-height: 1.5;"> <div role="progressbar" aria-valuenow=".action{ $progress }" style="height: 21px; width: 21px; pointer-events: auto;"> <svg viewBox="0 0 21 21" color="transparent" style="width: 100%; height: 100%; transform: rotate(-90deg); transform-origin: 50% 50%;"> <!-- 背景圆 --> <circle r="9" cx="10.5" cy="10.5" stroke-width="3" stroke="rgba(231, 243, 248, 1)" stroke-linecap="round" fill="transparent"> </circle> <!-- 进度条底色 --> <circle r="9" cx="10.5" cy="10.5" stroke-width="3" stroke="rgba(199, 198, 196, 0.5)" stroke-linecap="round" stroke-dasharray=".action{ $circumference } .action{ $bgOffsetLeft }" stroke-dashoffset=".action{ $bgOffsetRight }" fill="transparent"> </circle> <!-- 当前进度 --> <circle r="9" cx="10.5" cy="10.5" stroke-width="3" stroke="rgba(91, 151, 189, 1)" stroke-linecap="round" stroke-dasharray=".action{ $circumference }" stroke-dashoffset=".action{ $mainOffset }" fill="transparent"> </circle> </svg> </div> <span style="font-size: 0.9em; color: rgba(120, 119, 116, 1); font-weight: bold;"> .action{ $done }/.action{ $total } </span> </div> </div> .action{ end } .action{ end } .action{ end }

模板显示效果

  1. image
  2. image
  3. image

显示效果:

image.png

  • 思源笔记

    思源笔记是一款隐私优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。

    融合块、大纲和双向链接,重构你的思维。

    26086 引用 • 108307 回帖
1 操作
hesy 在 2025-05-14 22:47:30 更新了该帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
hesy
为了美好的明天,加油! 福州

推荐标签 标签

  • Sillot

    Insights(注意当前设置 master 为默认分支)

    汐洛彖夲肜矩阵(Sillot T☳Converbenk Matrix),致力于服务智慧新彖乄,具有彖乄驱动、极致优雅、开发者友好的特点。其中汐洛绞架(Sillot-Gibbet)基于自思源笔记(siyuan-note),前身是思源笔记汐洛版(更早是思源笔记汐洛分支),是智慧新录乄终端(多端融合,移动端优先)。

    主仓库地址:Hi-Windom/Sillot

    文档地址:sillot.db.sc.cn

    注意事项:

    1. ⚠️ 汐洛仍在早期开发阶段,尚不稳定
    2. ⚠️ 汐洛并非面向普通用户设计,使用前请了解风险
    3. ⚠️ 汐洛绞架基于思源笔记,开发者尽最大努力与思源笔记保持兼容,但无法实现 100% 兼容
    29 引用 • 25 回帖 • 124 关注
  • Sandbox

    如果帖子标签含有 Sandbox ,则该帖子会被视为“测试帖”,主要用于测试社区功能,排查 bug 等,该标签下内容不定期进行清理。

    437 引用 • 1238 回帖 • 586 关注
  • 区块链

    区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。所谓共识机制是区块链系统中实现不同节点之间建立信任、获取权益的数学算法 。

    92 引用 • 752 回帖
  • 外包

    有空闲时间是接外包好呢还是学习好呢?

    26 引用 • 233 回帖
  • Follow
    4 引用 • 12 回帖 • 2 关注
  • 程序员

    程序员是从事程序开发、程序维护的专业人员。

    589 引用 • 3528 回帖
  • Pipe

    Pipe 是一款小而美的开源博客平台。Pipe 有着非常活跃的社区,可将文章作为帖子推送到社区,来自社区的回帖将作为博客评论进行联动(具体细节请浏览 B3log 构思 - 分布式社区网络)。

    这是一种全新的网络社区体验,让热爱记录和分享的你不再感到孤单!

    134 引用 • 1127 回帖 • 109 关注
  • RIP

    愿逝者安息!

    8 引用 • 92 回帖 • 406 关注
  • ReactiveX

    ReactiveX 是一个专注于异步编程与控制可观察数据(或者事件)流的 API。它组合了观察者模式,迭代器模式和函数式编程的优秀思想。

    1 引用 • 2 回帖 • 182 关注
  • 前端

    前端技术一般分为前端设计和前端开发,前端设计可以理解为网站的视觉设计,前端开发则是网站的前台代码实现,包括 HTML、CSS 以及 JavaScript 等。

    246 引用 • 1338 回帖 • 1 关注
  • Linux

    Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 Unix 的多用户、多任务、支持多线程和多 CPU 的操作系统。它能运行主要的 Unix 工具软件、应用程序和网络协议,并支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

    954 引用 • 944 回帖
  • webpack

    webpack 是一个用于前端开发的模块加载器和打包工具,它能把各种资源,例如 JS、CSS(less/sass)、图片等都作为模块来使用和处理。

    42 引用 • 130 回帖 • 252 关注
  • 支付宝

    支付宝是全球领先的独立第三方支付平台,致力于为广大用户提供安全快速的电子支付/网上支付/安全支付/手机支付体验,及转账收款/水电煤缴费/信用卡还款/AA 收款等生活服务应用。

    29 引用 • 347 回帖 • 1 关注
  • SpaceVim

    SpaceVim 是一个社区驱动的模块化 vim/neovim 配置集合,以模块的方式组织管理插件以
    及相关配置,为不同的语言开发量身定制了相关的开发模块,该模块提供代码自动补全,
    语法检查、格式化、调试、REPL 等特性。用户仅需载入相关语言的模块即可得到一个开箱
    即用的 Vim-IDE。

    3 引用 • 31 回帖 • 110 关注
  • 反馈

    Communication channel for makers and users.

    120 引用 • 906 回帖 • 280 关注
  • TGIF

    Thank God It's Friday! 感谢老天,总算到星期五啦!

    291 引用 • 4495 回帖 • 661 关注
  • SOHO

    为成为自由职业者在家办公而努力吧!

    7 引用 • 55 回帖 • 1 关注
  • Vim

    Vim 是类 UNIX 系统文本编辑器 Vi 的加强版本,加入了更多特性来帮助编辑源代码。Vim 的部分增强功能包括文件比较(vimdiff)、语法高亮、全面的帮助系统、本地脚本(Vimscript)和便于选择的可视化模式。

    29 引用 • 66 回帖
  • MyBatis

    MyBatis 本是 Apache 软件基金会 的一个开源项目 iBatis,2010 年这个项目由 Apache 软件基金会迁移到了 google code,并且改名为 MyBatis ,2013 年 11 月再次迁移到了 GitHub。

    173 引用 • 414 回帖 • 364 关注
  • 微软

    微软是一家美国跨国科技公司,也是世界 PC 软件开发的先导,由比尔·盖茨与保罗·艾伦创办于 1975 年,公司总部设立在华盛顿州的雷德蒙德(Redmond,邻近西雅图)。以研发、制造、授权和提供广泛的电脑软件服务业务为主。

    8 引用 • 44 回帖 • 1 关注
  • RemNote
    2 引用 • 16 回帖 • 25 关注
  • danl
    174 关注
  • 又拍云

    又拍云是国内领先的 CDN 服务提供商,国家工信部认证通过的“可信云”,乌云众测平台认证的“安全云”,为移动时代的创业者提供新一代的 CDN 加速服务。

    20 引用 • 37 回帖 • 580 关注
  • ngrok

    ngrok 是一个反向代理,通过在公共的端点和本地运行的 Web 服务器之间建立一个安全的通道。

    7 引用 • 63 回帖 • 653 关注
  • WebSocket

    WebSocket 是 HTML5 中定义的一种新协议,它实现了浏览器与服务器之间的全双工通信(full-duplex)。

    48 引用 • 206 回帖 • 284 关注
  • 星云链

    星云链是一个开源公链,业内简单的将其称为区块链上的谷歌。其实它不仅仅是区块链搜索引擎,一个公链的所有功能,它基本都有,比如你可以用它来开发部署你的去中心化的 APP,你可以在上面编写智能合约,发送交易等等。3 分钟快速接入星云链 (NAS) 测试网

    3 引用 • 16 回帖 • 2 关注
  • Anytype
    3 引用 • 31 回帖 • 27 关注