import { defineComponent, ref, reactive, computed, useSSRContext } from 'vue'; import { ssrRenderAttrs, ssrRenderStyle, ssrIncludeBooleanAttr, ssrLooseContain, ssrLooseEqual, ssrRenderList, ssrRenderAttr, ssrInterpolate } from 'vue/server-renderer'; import { u as useApi } from './useApi-B-E5eLsI.mjs'; import { u as useToast } from './useToast-CS21XT61.mjs'; import './server.mjs'; import '../nitro/nitro.mjs'; import 'node:http'; import 'node:https'; import 'node:events'; import 'node:buffer'; import 'node:fs'; import 'node:path'; import 'node:crypto'; import 'node:url'; import '../routes/renderer.mjs'; import 'vue-bundle-renderer/runtime'; import 'unhead/server'; import 'devalue'; import 'unhead/utils'; import 'pinia'; import 'perfect-debounce'; import './useLoading-D4zrSa2m.mjs'; const _sfc_main = /* @__PURE__ */ defineComponent({ __name: "meettemplates", __ssrInlineRender: true, setup(__props) { useApi(); useToast(); const view = ref("list"); const rows = ref([]); const loading = ref(false); const submitting = ref(false); const isEditing = ref(false); const langFilter = ref("zh"); const tidFilter = ref(""); const kwFilter = ref(""); const form = reactive({ id: 0, title: "", tid: "", language: "", ttype: "", tags: "", icon: "", description: "", outline: "", template: "" }); function tagList(s) { return (s || "").split(",").map((x) => x.trim()).filter(Boolean); } function baseLang(s) { return (s || "").split("-")[0].trim().toLowerCase(); } const langOptions = computed(() => { const set = /* @__PURE__ */ new Set(); rows.value.forEach((t) => { if (t.language) set.add(t.language); }); return Array.from(set).sort(); }); const tidOptions = computed(() => { const set = /* @__PURE__ */ new Set(); rows.value.forEach((t) => { if (t.tid) set.add(t.tid); }); return Array.from(set).sort(); }); const filteredRows = computed(() => { const kw = kwFilter.value.trim().toLowerCase(); return rows.value.filter((t) => { if (langFilter.value && baseLang(t.language) !== baseLang(langFilter.value)) return false; if (tidFilter.value && (t.tid || "") !== tidFilter.value) return false; if (kw && (t.title || "").toLowerCase().indexOf(kw) < 0) return false; return true; }); }); const groupedRows = computed(() => { const groups = {}; filteredRows.value.forEach((t) => { const g = t.tid || ""; (groups[g] = groups[g] || []).push(t); }); const names = Object.keys(groups).sort((a, b) => { if (a === "") return -1; if (b === "") return 1; return a < b ? -1 : 1; }); return names.map((g) => ({ key: g, label: g || "无 tid", items: groups[g] })); }); return (_ctx, _push, _parent, _attrs) => { _push(`
会议纪要公共模板(source=public),所有应用共享。修改后各服务约 10 分钟内自动同步。
| ID | 标题 | 模板标识(tid) | 语言 | 类型 | 标签 | 操作 |
|---|---|---|---|---|---|---|
| 暂无模板 | ||||||
| ▸ ${ssrInterpolate(g.label)}${ssrInterpolate(g.items.length)} 个版本 | ||||||
| ${ssrInterpolate(t.id || "")} | ${ssrInterpolate(t.title || "")} | ${ssrInterpolate(t.tid || "")} | ${ssrInterpolate(t.language || "-")} | ${ssrInterpolate(t.ttype || "")} | `); if (tagList(t.tags).length) { _push(``); ssrRenderList(tagList(t.tags), (tag, i) => { _push(`${ssrInterpolate(tag)}`); }); _push(``); } else { _push(`-`); } _push(` | |