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 分钟内自动同步。

语言分组(tid)
`); if (loading.value) { _push(``); } else if (!filteredRows.value.length) { _push(``); } else { _push(``); ssrRenderList(groupedRows.value, (g) => { _push(``); ssrRenderList(g.items, (t) => { _push(``); }); _push(``); }); _push(``); } _push(`
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(`

${ssrInterpolate(isEditing.value ? "编辑模板" : "新增模板")}

`); }; } }); const _sfc_setup = _sfc_main.setup; _sfc_main.setup = (props, ctx) => { const ssrContext = useSSRContext(); (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("pages/meettemplates.vue"); return _sfc_setup ? _sfc_setup(props, ctx) : void 0; }; export { _sfc_main as default }; //# sourceMappingURL=meettemplates-3onnOzNE.mjs.map