今日任务动态

const raw = dv.current()["journal-date"];
const dateStr = typeof raw?.toFormat === "function" ? raw.toFormat("yyyy-MM-dd") : String(raw);
const start = dv.date(dateStr);
const end = start.plus({ days: 1 });
 
function renderTasks(tasks, depth = 0) {
  let lines = [];
  for (const t of tasks) {
    const indent = "\t".repeat(depth);
    const checkbox = t.completed ? "- [x] " : "- [ ] ";
    lines.push(indent + checkbox + t.text);
    if (t.subtasks?.length > 0) {
      lines = lines.concat(renderTasks(t.subtasks, depth + 1));
    }
  }
  return lines;
}
 
function getRootTasks(allTasks) {
  const subLines = new Set();
  for (const t of allTasks) {
    if (t.subtasks) for (const s of t.subtasks) subLines.add(s.line);
  }
  return allTasks.filter(t => !subLines.has(t.line));
}
 
dv.table(["任务", "待办项"],
  dv.pages('"CYG-Works/需求任务-Tasks"')
    .where(p => {
      if (p.file.cday >= start && p.file.cday < end) return true;
      return p.file.tasks.some(item => item.text.includes(dateStr));
    })
    .sort(p => p.file.mday, "desc")
    .map(p => [
      p.file.link,
      renderTasks(getRootTasks(p.file.tasks)).join("\n")
    ])
);

工作日志

const raw = dv.current()["journal-date"];
const dateStr = typeof raw?.toFormat === "function" 
  ? raw.toFormat("yyyy-MM-dd") 
  : String(raw);
 
function collectChildren(item, depth = 0) {
  let lines = [];
  for (const child of (item.children || [])) {
    const prefix = depth > 0 ? "\t".repeat(depth) : " ";
    const symbol = child.symbol || item.symbol || "-";
    lines.push(prefix + symbol + " " + child.text);
    lines = lines.concat(collectChildren(child, depth + 1));
  }
  return lines;
}
 
const rows = [];
const pages = dv.pages('"CYG-Works/需求任务-Tasks"').sort(p => p.file.name, "desc");
 
for (const page of pages) {
  // 匹配条件:
  // 1. 不是任务列表(!item.task)
  // 2. 文本包含目标日期
  // 3. 是顶层列表项(item.parent === undefined),避免匹配到子内容里的日期
  const entries = page.file.lists.where(item => 
    !item.task && 
    item.text.includes(dateStr) && 
    item.parent === undefined
  );
  
  let first = true;
  for (const entry of entries) {
    const time = entry.text.trim();
    const content = collectChildren(entry).join("\n");
    
    rows.push([
      first ? page.file.link : "",
      time,
      content || "—"
    ]);
    first = false;
  }
}
 
dv.table(["任务", "时间", "内容"], rows);

备注

降本增效 --- 集团董浙明

Pasted image 20260509101036.png

Pasted image 20260509101102.png

Pasted image 20260509101148.png

Pasted image 20260509101358.png

项目产业公司 --- 集团赵佳伟

Pasted image 20260509101731.png

Pasted image 20260509102027.png

Pasted image 20260509102132.png

Pasted image 20260509102458.png

运维与信息安全 --- 欧英姿

Pasted image 20260509102922.png

Pasted image 20260509103123.png

Pasted image 20260509103324.png

Pasted image 20260509103427.png

OA流程精益化 --- 熊美琴

Pasted image 20260509104528.png

Pasted image 20260509105055.png

Pasted image 20260509105656.png

AI智算底座+企业AI应用 --- 毕玥

Pasted image 20260509110125.png

Pasted image 20260509110225.png

6d8eccdb66d29abeaf965f36da3abe47.png

12338a05bf504520ae0efe2d1bcd0dd4.png

0bf60deea64492b129c259d8784d583f.jpg

2a338c97213400d48d75f65c3399f5cc.png

Pasted image 20260509110708.png

Pasted image 20260509110718.png

长园RPA项目 --- 刘志明

Pasted image 20260509111422.png

Pasted image 20260509111525.png

Pasted image 20260509111628.png

Pasted image 20260509111847.png

AI Coding --- 邹焱

Pasted image 20260509112241.png

Pasted image 20260509112441.png

AI工具 --- 杜正冬

Pasted image 20260509113225.png

信息部重点工作一览 --- 王金秋

Pasted image 20260509113248.png

Pasted image 20260509113936.png

Pasted image 20260509114319.png

Pasted image 20260509114448.png

Pasted image 20260509114902.png