- Spring Boot 后端服务 (hss-home-service) - delivery-miniapp 配送小程序 - website 官网 (Nuxt) - docs 架构设计文档 - Docker 容器化部署配置 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
539 lines
39 KiB
JavaScript
539 lines
39 KiB
JavaScript
import { defineComponent, ref, withCtx, createVNode, openBlock, createBlock, Fragment, renderList, toDisplayString, unref, mergeProps, useSSRContext } from 'file:///home/akoo/%E5%B1%85%E5%AE%B6%E6%9C%8D%E5%8A%A1/hss-home-service/website/node_modules/vue/index.mjs';
|
|
import { ssrRenderList, ssrRenderClass, ssrInterpolate, ssrRenderComponent, ssrRenderAttrs, ssrRenderSlot } from 'file:///home/akoo/%E5%B1%85%E5%AE%B6%E6%9C%8D%E5%8A%A1/hss-home-service/website/node_modules/vue/server-renderer/index.mjs';
|
|
import { _ as _sfc_main$4 } from './AppIcon--JRwwp2l.mjs';
|
|
import { _ as __nuxt_component_2 } from './CtaSection-ClDHCKqS.mjs';
|
|
import { u as useSeo } from './useSeo-BkcZp48C.mjs';
|
|
import { c as capabilities } from './server.mjs';
|
|
import './v3-eWcT6REp.mjs';
|
|
import '../_/renderer.mjs';
|
|
import 'file:///home/akoo/%E5%B1%85%E5%AE%B6%E6%9C%8D%E5%8A%A1/hss-home-service/website/node_modules/vue-bundle-renderer/dist/runtime.mjs';
|
|
import 'file:///home/akoo/%E5%B1%85%E5%AE%B6%E6%9C%8D%E5%8A%A1/hss-home-service/website/node_modules/h3/dist/index.mjs';
|
|
import 'file:///home/akoo/%E5%B1%85%E5%AE%B6%E6%9C%8D%E5%8A%A1/hss-home-service/website/node_modules/ufo/dist/index.mjs';
|
|
import '../nitro/nitro.mjs';
|
|
import 'file:///home/akoo/%E5%B1%85%E5%AE%B6%E6%9C%8D%E5%8A%A1/hss-home-service/website/node_modules/destr/dist/index.mjs';
|
|
import 'file:///home/akoo/%E5%B1%85%E5%AE%B6%E6%9C%8D%E5%8A%A1/hss-home-service/website/node_modules/hookable/dist/index.mjs';
|
|
import 'file:///home/akoo/%E5%B1%85%E5%AE%B6%E6%9C%8D%E5%8A%A1/hss-home-service/website/node_modules/ofetch/dist/node.mjs';
|
|
import 'file:///home/akoo/%E5%B1%85%E5%AE%B6%E6%9C%8D%E5%8A%A1/hss-home-service/website/node_modules/node-mock-http/dist/index.mjs';
|
|
import 'file:///home/akoo/%E5%B1%85%E5%AE%B6%E6%9C%8D%E5%8A%A1/hss-home-service/website/node_modules/unstorage/dist/index.mjs';
|
|
import 'file:///home/akoo/%E5%B1%85%E5%AE%B6%E6%9C%8D%E5%8A%A1/hss-home-service/website/node_modules/unstorage/drivers/fs.mjs';
|
|
import 'node:crypto';
|
|
import 'file:///home/akoo/%E5%B1%85%E5%AE%B6%E6%9C%8D%E5%8A%A1/hss-home-service/website/node_modules/unstorage/drivers/fs-lite.mjs';
|
|
import 'file:///home/akoo/%E5%B1%85%E5%AE%B6%E6%9C%8D%E5%8A%A1/hss-home-service/website/node_modules/unstorage/drivers/lru-cache.mjs';
|
|
import 'file:///home/akoo/%E5%B1%85%E5%AE%B6%E6%9C%8D%E5%8A%A1/hss-home-service/website/node_modules/ohash/dist/index.mjs';
|
|
import 'file:///home/akoo/%E5%B1%85%E5%AE%B6%E6%9C%8D%E5%8A%A1/hss-home-service/website/node_modules/klona/dist/index.mjs';
|
|
import 'file:///home/akoo/%E5%B1%85%E5%AE%B6%E6%9C%8D%E5%8A%A1/hss-home-service/website/node_modules/defu/dist/defu.mjs';
|
|
import 'file:///home/akoo/%E5%B1%85%E5%AE%B6%E6%9C%8D%E5%8A%A1/hss-home-service/website/node_modules/scule/dist/index.mjs';
|
|
import 'file:///home/akoo/%E5%B1%85%E5%AE%B6%E6%9C%8D%E5%8A%A1/hss-home-service/website/node_modules/unctx/dist/index.mjs';
|
|
import 'file:///home/akoo/%E5%B1%85%E5%AE%B6%E6%9C%8D%E5%8A%A1/hss-home-service/website/node_modules/radix3/dist/index.mjs';
|
|
import 'node:fs';
|
|
import 'node:url';
|
|
import 'file:///home/akoo/%E5%B1%85%E5%AE%B6%E6%9C%8D%E5%8A%A1/hss-home-service/website/node_modules/pathe/dist/index.mjs';
|
|
import 'file:///home/akoo/%E5%B1%85%E5%AE%B6%E6%9C%8D%E5%8A%A1/hss-home-service/website/node_modules/unhead/dist/server.mjs';
|
|
import 'node:async_hooks';
|
|
import 'file:///home/akoo/%E5%B1%85%E5%AE%B6%E6%9C%8D%E5%8A%A1/hss-home-service/website/node_modules/devalue/index.js';
|
|
import 'file:///home/akoo/%E5%B1%85%E5%AE%B6%E6%9C%8D%E5%8A%A1/hss-home-service/website/node_modules/unhead/dist/plugins.mjs';
|
|
import 'file:///home/akoo/%E5%B1%85%E5%AE%B6%E6%9C%8D%E5%8A%A1/hss-home-service/website/node_modules/unhead/dist/utils.mjs';
|
|
import 'file:///home/akoo/%E5%B1%85%E5%AE%B6%E6%9C%8D%E5%8A%A1/hss-home-service/website/node_modules/vue-router/vue-router.node.mjs';
|
|
|
|
const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
__name: "PlatformStatCard",
|
|
__ssrInlineRender: true,
|
|
props: {
|
|
label: {},
|
|
value: {},
|
|
suffix: {},
|
|
trend: {},
|
|
loading: { type: Boolean }
|
|
},
|
|
setup(__props) {
|
|
return (_ctx, _push, _parent, _attrs) => {
|
|
_push(`<div${ssrRenderAttrs(mergeProps({ class: "bg-white rounded-2xl p-6 shadow-sm border border-gray-100" }, _attrs))}>`);
|
|
if (__props.loading) {
|
|
_push(`<div class="animate-pulse space-y-3"><div class="h-4 bg-gray-200 rounded w-16"></div><div class="h-8 bg-gray-200 rounded w-24"></div></div>`);
|
|
} else {
|
|
_push(`<!--[--><p class="text-sm text-text-secondary mb-2">${ssrInterpolate(__props.label)}</p><p class="text-3xl font-bold font-mono text-primary">${ssrInterpolate(__props.value)}`);
|
|
if (__props.suffix) {
|
|
_push(`<span class="text-lg text-text-secondary ml-1">${ssrInterpolate(__props.suffix)}</span>`);
|
|
} else {
|
|
_push(`<!---->`);
|
|
}
|
|
_push(`</p>`);
|
|
if (__props.trend) {
|
|
_push(`<p class="text-xs text-accent mt-1">${ssrInterpolate(__props.trend)}</p>`);
|
|
} else {
|
|
_push(`<!---->`);
|
|
}
|
|
_push(`<!--]-->`);
|
|
}
|
|
_push(`</div>`);
|
|
};
|
|
}
|
|
});
|
|
const _sfc_setup$3 = _sfc_main$3.setup;
|
|
_sfc_main$3.setup = (props, ctx) => {
|
|
const ssrContext = useSSRContext();
|
|
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/PlatformStatCard.vue");
|
|
return _sfc_setup$3 ? _sfc_setup$3(props, ctx) : void 0;
|
|
};
|
|
const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
__name: "PlatformSection",
|
|
__ssrInlineRender: true,
|
|
props: {
|
|
title: {},
|
|
desc: {}
|
|
},
|
|
setup(__props) {
|
|
return (_ctx, _push, _parent, _attrs) => {
|
|
_push(`<div${ssrRenderAttrs(mergeProps({ class: "bg-white rounded-2xl shadow-sm border border-gray-100 overflow-hidden" }, _attrs))}><div class="px-6 py-4 border-b border-gray-50 flex items-center justify-between"><div><h3 class="font-bold text-text-primary">${ssrInterpolate(__props.title)}</h3>`);
|
|
if (__props.desc) {
|
|
_push(`<p class="text-xs text-text-secondary mt-0.5">${ssrInterpolate(__props.desc)}</p>`);
|
|
} else {
|
|
_push(`<!---->`);
|
|
}
|
|
_push(`</div><div class="flex gap-2"><span class="w-2.5 h-2.5 rounded-full bg-red-400"></span><span class="w-2.5 h-2.5 rounded-full bg-yellow-400"></span><span class="w-2.5 h-2.5 rounded-full bg-green-400"></span></div></div><div class="p-0">`);
|
|
ssrRenderSlot(_ctx.$slots, "default", {}, null, _push, _parent);
|
|
_push(`</div></div>`);
|
|
};
|
|
}
|
|
});
|
|
const _sfc_setup$2 = _sfc_main$2.setup;
|
|
_sfc_main$2.setup = (props, ctx) => {
|
|
const ssrContext = useSSRContext();
|
|
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/PlatformSection.vue");
|
|
return _sfc_setup$2 ? _sfc_setup$2(props, ctx) : void 0;
|
|
};
|
|
const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
__name: "PlatformWorkOrderRow",
|
|
__ssrInlineRender: true,
|
|
props: {
|
|
id: {},
|
|
patientName: {},
|
|
serviceType: {},
|
|
status: {},
|
|
serviceDate: {},
|
|
staffName: {}
|
|
},
|
|
setup(__props) {
|
|
const statusMap = {
|
|
ORDER_CREATED: { label: "\u5F85\u6D3E\u5355", class: "bg-gray-100 text-gray-600" },
|
|
ORDER_ASSIGNED: { label: "\u5DF2\u6D3E\u5355", class: "bg-blue-50 text-blue-600" },
|
|
ORDER_ACCEPTED: { label: "\u5DF2\u63A5\u5355", class: "bg-indigo-50 text-indigo-600" },
|
|
ORDER_CHECKED_IN: { label: "\u5DF2\u7B7E\u5230", class: "bg-teal-50 text-teal-600" },
|
|
ORDER_IN_SERVICE: { label: "\u670D\u52A1\u4E2D", class: "bg-accent-50 text-accent-700" },
|
|
ORDER_COMPLETED: { label: "\u5DF2\u5B8C\u6210", class: "bg-green-50 text-green-600" },
|
|
ORDER_EXCEPTION: { label: "\u5F02\u5E38", class: "bg-red-50 text-red-600" },
|
|
ACCEPTED: { label: "\u5DF2\u9A8C\u6536", class: "bg-green-100 text-green-700" }
|
|
};
|
|
return (_ctx, _push, _parent, _attrs) => {
|
|
var _a, _b;
|
|
_push(`<div${ssrRenderAttrs(mergeProps({ class: "flex items-center gap-4 px-4 py-3 bg-white border-b border-gray-50 hover:bg-gray-50 transition-colors" }, _attrs))}><span class="text-sm text-text-secondary w-12 shrink-0">#${ssrInterpolate(__props.id)}</span><span class="text-sm font-medium flex-1 truncate">${ssrInterpolate(__props.patientName)}</span><span class="text-xs text-text-secondary w-16 shrink-0">${ssrInterpolate(__props.serviceType)}</span><span class="text-xs w-24 shrink-0">${ssrInterpolate(__props.serviceDate)}</span><span class="${ssrRenderClass([((_a = statusMap[__props.status]) == null ? void 0 : _a.class) || "bg-gray-100", "text-xs px-2 py-1 rounded-full font-medium shrink-0"])}">${ssrInterpolate(((_b = statusMap[__props.status]) == null ? void 0 : _b.label) || __props.status)}</span><span class="text-xs text-text-secondary w-20 shrink-0 truncate">${ssrInterpolate(__props.staffName || "-")}</span></div>`);
|
|
};
|
|
}
|
|
});
|
|
const _sfc_setup$1 = _sfc_main$1.setup;
|
|
_sfc_main$1.setup = (props, ctx) => {
|
|
const ssrContext = useSSRContext();
|
|
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/PlatformWorkOrderRow.vue");
|
|
return _sfc_setup$1 ? _sfc_setup$1(props, ctx) : void 0;
|
|
};
|
|
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
__name: "demo",
|
|
__ssrInlineRender: true,
|
|
setup(__props) {
|
|
useSeo({ title: "\u5E73\u53F0\u6F14\u793A", description: "\u667A\u6167\u533B\u517B\u5C45\u5BB6\u4E0A\u95E8\u670D\u52A1\u5E73\u53F0 \u2014 \u529F\u80FD\u6F14\u793A\u4E0E\u771F\u5B9E\u6570\u636E\u5C55\u793A" });
|
|
const dashboard = ref({});
|
|
ref({});
|
|
const quality = ref({});
|
|
ref([]);
|
|
ref([]);
|
|
ref(true);
|
|
const activeTab = ref("overview");
|
|
const tabs = [
|
|
{ key: "overview", label: "\u7BA1\u7406\u770B\u677F" },
|
|
{ key: "orders", label: "\u5DE5\u5355\u7BA1\u7406" },
|
|
{ key: "dispatch", label: "\u6D3E\u5355\u8C03\u5EA6" },
|
|
{ key: "delivery", label: "\u79FB\u52A8\u6267\u884C" }
|
|
];
|
|
function fmt(n, def = "--") {
|
|
if (n === null || n === void 0) return def;
|
|
if (typeof n === "number") return n.toLocaleString();
|
|
return String(n);
|
|
}
|
|
return (_ctx, _push, _parent, _attrs) => {
|
|
const _component_PlatformStatCard = _sfc_main$3;
|
|
const _component_PlatformSection = _sfc_main$2;
|
|
const _component_AppIcon = _sfc_main$4;
|
|
const _component_PlatformWorkOrderRow = _sfc_main$1;
|
|
const _component_CtaSection = __nuxt_component_2;
|
|
_push(`<!--[--><section class="py-16 bg-gradient-to-br from-primary-700 to-primary-900 text-white"><div class="section-container"><span class="text-sm text-blue-200 mb-2 block">Platform Demo</span><h1 class="text-4xl md:text-5xl font-bold mb-4">\u5E73\u53F0\u529F\u80FD\u6F14\u793A</h1><p class="text-lg text-blue-100 max-w-2xl">\u4EE5\u4E0B\u5C55\u793A\u5E73\u53F0\u771F\u5B9E\u7BA1\u7406\u754C\u9762\uFF0C\u6570\u636E\u901A\u8FC7\u540E\u7AEF API \u5B9E\u65F6\u83B7\u53D6</p></div></section><div class="bg-white border-b sticky top-16 z-30"><div class="section-container flex gap-0 overflow-x-auto"><!--[-->`);
|
|
ssrRenderList(tabs, (t) => {
|
|
_push(`<button class="${ssrRenderClass([activeTab.value === t.key ? "border-primary text-primary" : "border-transparent text-text-secondary hover:text-text-primary", "px-6 py-4 text-sm font-medium border-b-2 transition-colors shrink-0"])}">${ssrInterpolate(t.label)}</button>`);
|
|
});
|
|
_push(`<!--]--></div></div>`);
|
|
if (activeTab.value === "overview") {
|
|
_push(`<section class="py-12 bg-surface"><div class="section-container space-y-8"><div class="grid grid-cols-2 lg:grid-cols-4 gap-4">`);
|
|
_push(ssrRenderComponent(_component_PlatformStatCard, {
|
|
label: "\u4ECA\u65E5\u5DE5\u5355",
|
|
value: fmt(dashboard.value.todayOrders),
|
|
suffix: "\u5355"
|
|
}, null, _parent));
|
|
_push(ssrRenderComponent(_component_PlatformStatCard, {
|
|
label: "\u8FDB\u884C\u4E2D",
|
|
value: fmt(dashboard.value.inProgress),
|
|
suffix: "\u5355"
|
|
}, null, _parent));
|
|
_push(ssrRenderComponent(_component_PlatformStatCard, {
|
|
label: "\u670D\u52A1\u5B8C\u6210\u7387",
|
|
value: fmt(quality.value.serviceCompletionRate),
|
|
suffix: "%"
|
|
}, null, _parent));
|
|
_push(ssrRenderComponent(_component_PlatformStatCard, {
|
|
label: "\u6D3B\u8DC3\u670D\u52A1\u4EBA\u5458",
|
|
value: fmt(dashboard.value.availableStaff),
|
|
suffix: "\u4EBA"
|
|
}, null, _parent));
|
|
_push(`</div><div class="grid lg:grid-cols-2 gap-8">`);
|
|
_push(ssrRenderComponent(_component_PlatformSection, {
|
|
title: "\u5B9E\u65F6\u5DE5\u5355\u72B6\u6001\u5206\u5E03",
|
|
desc: "\u5404\u72B6\u6001\u5DE5\u5355\u6570\u91CF\u6982\u89C8"
|
|
}, {
|
|
default: withCtx((_, _push2, _parent2, _scopeId) => {
|
|
if (_push2) {
|
|
_push2(`<div class="p-6 grid grid-cols-2 gap-3"${_scopeId}><!--[-->`);
|
|
ssrRenderList([
|
|
{ label: "\u5F85\u6D3E\u5355", v: dashboard.value.pendingDispatch, c: "bg-gray-100" },
|
|
{ label: "\u8FDB\u884C\u4E2D", v: dashboard.value.inProgress, c: "bg-blue-50" },
|
|
{ label: "\u5DF2\u5B8C\u6210", v: dashboard.value.completedToday, c: "bg-green-50" },
|
|
{ label: "\u5F02\u5E38", v: dashboard.value.exceptions, c: "bg-red-50" }
|
|
], (item) => {
|
|
_push2(`<div class="${ssrRenderClass(["rounded-xl p-4 text-center", item.c])}"${_scopeId}><div class="text-2xl font-bold font-mono"${_scopeId}>${ssrInterpolate(fmt(item.v))}</div><div class="text-xs text-text-secondary mt-1"${_scopeId}>${ssrInterpolate(item.label)}</div></div>`);
|
|
});
|
|
_push2(`<!--]--></div>`);
|
|
} else {
|
|
return [
|
|
createVNode("div", { class: "p-6 grid grid-cols-2 gap-3" }, [
|
|
(openBlock(true), createBlock(Fragment, null, renderList([
|
|
{ label: "\u5F85\u6D3E\u5355", v: dashboard.value.pendingDispatch, c: "bg-gray-100" },
|
|
{ label: "\u8FDB\u884C\u4E2D", v: dashboard.value.inProgress, c: "bg-blue-50" },
|
|
{ label: "\u5DF2\u5B8C\u6210", v: dashboard.value.completedToday, c: "bg-green-50" },
|
|
{ label: "\u5F02\u5E38", v: dashboard.value.exceptions, c: "bg-red-50" }
|
|
], (item) => {
|
|
return openBlock(), createBlock("div", {
|
|
key: item.label,
|
|
class: ["rounded-xl p-4 text-center", item.c]
|
|
}, [
|
|
createVNode("div", { class: "text-2xl font-bold font-mono" }, toDisplayString(fmt(item.v)), 1),
|
|
createVNode("div", { class: "text-xs text-text-secondary mt-1" }, toDisplayString(item.label), 1)
|
|
], 2);
|
|
}), 128))
|
|
])
|
|
];
|
|
}
|
|
}),
|
|
_: 1
|
|
}, _parent));
|
|
_push(ssrRenderComponent(_component_PlatformSection, {
|
|
title: "\u6838\u5FC3\u80FD\u529B\u6A21\u5757",
|
|
desc: "\u5E73\u53F0\u8986\u76D6\u5C45\u5BB6\u670D\u52A1\u5168\u6D41\u7A0B"
|
|
}, {
|
|
default: withCtx((_, _push2, _parent2, _scopeId) => {
|
|
if (_push2) {
|
|
_push2(`<div class="p-6 grid grid-cols-2 gap-3"${_scopeId}><!--[-->`);
|
|
ssrRenderList(unref(capabilities).slice(0, 8), (c) => {
|
|
_push2(`<div class="flex items-center gap-3 p-3 rounded-xl hover:bg-primary-50 transition-colors cursor-pointer group"${_scopeId}><div class="w-10 h-10 rounded-lg bg-primary-50 text-primary flex items-center justify-center group-hover:bg-primary group-hover:text-white transition-colors shrink-0"${_scopeId}>`);
|
|
_push2(ssrRenderComponent(_component_AppIcon, {
|
|
name: c.icon,
|
|
class: "w-5 h-5"
|
|
}, null, _parent2, _scopeId));
|
|
_push2(`</div><div class="min-w-0"${_scopeId}><div class="text-sm font-medium truncate"${_scopeId}>${ssrInterpolate(c.title)}</div><div class="text-xs text-text-secondary truncate"${_scopeId}>${ssrInterpolate(c.desc)}</div></div></div>`);
|
|
});
|
|
_push2(`<!--]--></div>`);
|
|
} else {
|
|
return [
|
|
createVNode("div", { class: "p-6 grid grid-cols-2 gap-3" }, [
|
|
(openBlock(true), createBlock(Fragment, null, renderList(unref(capabilities).slice(0, 8), (c) => {
|
|
return openBlock(), createBlock("div", {
|
|
key: c.title,
|
|
class: "flex items-center gap-3 p-3 rounded-xl hover:bg-primary-50 transition-colors cursor-pointer group"
|
|
}, [
|
|
createVNode("div", { class: "w-10 h-10 rounded-lg bg-primary-50 text-primary flex items-center justify-center group-hover:bg-primary group-hover:text-white transition-colors shrink-0" }, [
|
|
createVNode(_component_AppIcon, {
|
|
name: c.icon,
|
|
class: "w-5 h-5"
|
|
}, null, 8, ["name"])
|
|
]),
|
|
createVNode("div", { class: "min-w-0" }, [
|
|
createVNode("div", { class: "text-sm font-medium truncate" }, toDisplayString(c.title), 1),
|
|
createVNode("div", { class: "text-xs text-text-secondary truncate" }, toDisplayString(c.desc), 1)
|
|
])
|
|
]);
|
|
}), 128))
|
|
])
|
|
];
|
|
}
|
|
}),
|
|
_: 1
|
|
}, _parent));
|
|
_push(`</div></div></section>`);
|
|
} else {
|
|
_push(`<!---->`);
|
|
}
|
|
if (activeTab.value === "orders") {
|
|
_push(`<section class="py-12 bg-surface"><div class="section-container space-y-6">`);
|
|
_push(ssrRenderComponent(_component_PlatformSection, {
|
|
title: "\u5DE5\u5355\u7BA1\u7406",
|
|
desc: "\u53D7\u7406\u3001\u6D3E\u5355\u3001\u63A5\u5355\u3001\u6267\u884C\u3001\u5B8C\u6210\u5168\u6D41\u7A0B\u5DE5\u5355\u89C6\u56FE"
|
|
}, {
|
|
default: withCtx((_, _push2, _parent2, _scopeId) => {
|
|
if (_push2) {
|
|
_push2(`<div class="divide-y divide-gray-50"${_scopeId}><div class="flex items-center gap-4 px-4 py-3 bg-gray-50 text-xs font-medium text-text-secondary"${_scopeId}><span class="w-12"${_scopeId}>ID</span><span class="flex-1"${_scopeId}>\u670D\u52A1\u5BF9\u8C61</span><span class="w-16"${_scopeId}>\u7C7B\u578B</span><span class="w-24"${_scopeId}>\u65E5\u671F</span><span class="w-24"${_scopeId}>\u72B6\u6001</span><span class="w-20"${_scopeId}>\u4EBA\u5458</span></div><!--[-->`);
|
|
ssrRenderList([
|
|
{ id: 1001, patientName: "\u5F20\u5976\u5976", serviceType: "\u5C45\u5BB6\u62A4\u7406", status: "ORDER_IN_SERVICE", serviceDate: "2026-05-18", staffName: "\u674E\u62A4\u7406\u5458" },
|
|
{ id: 1002, patientName: "\u738B\u5927\u7237", serviceType: "\u5EB7\u590D\u8BAD\u7EC3", status: "ORDER_COMPLETED", serviceDate: "2026-05-18", staffName: "\u5F20\u5EB7\u590D\u5E08" },
|
|
{ id: 1003, patientName: "\u8D75\u963F\u59E8", serviceType: "\u52A9\u6D74\u670D\u52A1", status: "ORDER_ASSIGNED", serviceDate: "2026-05-18", staffName: "--" },
|
|
{ id: 1004, patientName: "\u5218\u7237\u7237", serviceType: "\u5065\u5EB7\u7BA1\u7406", status: "ORDER_CHECKED_IN", serviceDate: "2026-05-18", staffName: "\u9648\u62A4\u7406\u5458" },
|
|
{ id: 1005, patientName: "\u5B59\u5976\u5976", serviceType: "\u80FD\u529B\u8BC4\u4F30", status: "ORDER_EXCEPTION", serviceDate: "2026-05-17", staffName: "\u5468\u8BC4\u4F30\u5458" }
|
|
], (wo) => {
|
|
_push2(ssrRenderComponent(_component_PlatformWorkOrderRow, mergeProps({
|
|
key: wo.id
|
|
}, { ref_for: true }, wo), null, _parent2, _scopeId));
|
|
});
|
|
_push2(`<!--]--></div>`);
|
|
} else {
|
|
return [
|
|
createVNode("div", { class: "divide-y divide-gray-50" }, [
|
|
createVNode("div", { class: "flex items-center gap-4 px-4 py-3 bg-gray-50 text-xs font-medium text-text-secondary" }, [
|
|
createVNode("span", { class: "w-12" }, "ID"),
|
|
createVNode("span", { class: "flex-1" }, "\u670D\u52A1\u5BF9\u8C61"),
|
|
createVNode("span", { class: "w-16" }, "\u7C7B\u578B"),
|
|
createVNode("span", { class: "w-24" }, "\u65E5\u671F"),
|
|
createVNode("span", { class: "w-24" }, "\u72B6\u6001"),
|
|
createVNode("span", { class: "w-20" }, "\u4EBA\u5458")
|
|
]),
|
|
(openBlock(), createBlock(Fragment, null, renderList([
|
|
{ id: 1001, patientName: "\u5F20\u5976\u5976", serviceType: "\u5C45\u5BB6\u62A4\u7406", status: "ORDER_IN_SERVICE", serviceDate: "2026-05-18", staffName: "\u674E\u62A4\u7406\u5458" },
|
|
{ id: 1002, patientName: "\u738B\u5927\u7237", serviceType: "\u5EB7\u590D\u8BAD\u7EC3", status: "ORDER_COMPLETED", serviceDate: "2026-05-18", staffName: "\u5F20\u5EB7\u590D\u5E08" },
|
|
{ id: 1003, patientName: "\u8D75\u963F\u59E8", serviceType: "\u52A9\u6D74\u670D\u52A1", status: "ORDER_ASSIGNED", serviceDate: "2026-05-18", staffName: "--" },
|
|
{ id: 1004, patientName: "\u5218\u7237\u7237", serviceType: "\u5065\u5EB7\u7BA1\u7406", status: "ORDER_CHECKED_IN", serviceDate: "2026-05-18", staffName: "\u9648\u62A4\u7406\u5458" },
|
|
{ id: 1005, patientName: "\u5B59\u5976\u5976", serviceType: "\u80FD\u529B\u8BC4\u4F30", status: "ORDER_EXCEPTION", serviceDate: "2026-05-17", staffName: "\u5468\u8BC4\u4F30\u5458" }
|
|
], (wo) => {
|
|
return createVNode(_component_PlatformWorkOrderRow, mergeProps({
|
|
key: wo.id
|
|
}, { ref_for: true }, wo), null, 16);
|
|
}), 64))
|
|
])
|
|
];
|
|
}
|
|
}),
|
|
_: 1
|
|
}, _parent));
|
|
_push(ssrRenderComponent(_component_PlatformSection, {
|
|
title: "\u5DE5\u5355\u72B6\u6001\u6D41\u8F6C",
|
|
desc: "\u72B6\u6001\u673A\u9A71\u52A8\u7684\u5B8C\u6574\u6D41\u8F6C\u8DEF\u5F84"
|
|
}, {
|
|
default: withCtx((_, _push2, _parent2, _scopeId) => {
|
|
if (_push2) {
|
|
_push2(`<div class="p-6"${_scopeId}><div class="flex flex-wrap items-center gap-2 text-xs"${_scopeId}><span class="px-3 py-1.5 rounded-full bg-gray-100"${_scopeId}>ORDER_CREATED</span><span class="text-gray-300"${_scopeId}>\u2192</span><span class="px-3 py-1.5 rounded-full bg-blue-50 text-blue-600"${_scopeId}>ORDER_ASSIGNED</span><span class="text-gray-300"${_scopeId}>\u2192</span><span class="px-3 py-1.5 rounded-full bg-indigo-50 text-indigo-600"${_scopeId}>ORDER_ACCEPTED</span><span class="text-gray-300"${_scopeId}>\u2192</span><span class="px-3 py-1.5 rounded-full bg-teal-50 text-teal-600"${_scopeId}>ORDER_CHECKED_IN</span><span class="text-gray-300"${_scopeId}>\u2192</span><span class="px-3 py-1.5 rounded-full bg-accent-50 text-accent-700"${_scopeId}>ORDER_IN_SERVICE</span><span class="text-gray-300"${_scopeId}>\u2192</span><span class="px-3 py-1.5 rounded-full bg-green-50 text-green-600"${_scopeId}>ORDER_COMPLETED</span><span class="text-gray-300"${_scopeId}>\u2192</span><span class="px-3 py-1.5 rounded-full bg-green-100 text-green-700"${_scopeId}>ACCEPTED</span></div></div>`);
|
|
} else {
|
|
return [
|
|
createVNode("div", { class: "p-6" }, [
|
|
createVNode("div", { class: "flex flex-wrap items-center gap-2 text-xs" }, [
|
|
createVNode("span", { class: "px-3 py-1.5 rounded-full bg-gray-100" }, "ORDER_CREATED"),
|
|
createVNode("span", { class: "text-gray-300" }, "\u2192"),
|
|
createVNode("span", { class: "px-3 py-1.5 rounded-full bg-blue-50 text-blue-600" }, "ORDER_ASSIGNED"),
|
|
createVNode("span", { class: "text-gray-300" }, "\u2192"),
|
|
createVNode("span", { class: "px-3 py-1.5 rounded-full bg-indigo-50 text-indigo-600" }, "ORDER_ACCEPTED"),
|
|
createVNode("span", { class: "text-gray-300" }, "\u2192"),
|
|
createVNode("span", { class: "px-3 py-1.5 rounded-full bg-teal-50 text-teal-600" }, "ORDER_CHECKED_IN"),
|
|
createVNode("span", { class: "text-gray-300" }, "\u2192"),
|
|
createVNode("span", { class: "px-3 py-1.5 rounded-full bg-accent-50 text-accent-700" }, "ORDER_IN_SERVICE"),
|
|
createVNode("span", { class: "text-gray-300" }, "\u2192"),
|
|
createVNode("span", { class: "px-3 py-1.5 rounded-full bg-green-50 text-green-600" }, "ORDER_COMPLETED"),
|
|
createVNode("span", { class: "text-gray-300" }, "\u2192"),
|
|
createVNode("span", { class: "px-3 py-1.5 rounded-full bg-green-100 text-green-700" }, "ACCEPTED")
|
|
])
|
|
])
|
|
];
|
|
}
|
|
}),
|
|
_: 1
|
|
}, _parent));
|
|
_push(`</div></section>`);
|
|
} else {
|
|
_push(`<!---->`);
|
|
}
|
|
if (activeTab.value === "dispatch") {
|
|
_push(`<section class="py-12 bg-surface"><div class="section-container space-y-6">`);
|
|
_push(ssrRenderComponent(_component_PlatformSection, {
|
|
title: "\u8C03\u5EA6\u5DE5\u4F5C\u53F0",
|
|
desc: "\u667A\u80FD\u63A8\u8350 + \u4EBA\u5DE5\u786E\u8BA4\uFF0C\u4E24\u9636\u6BB5\u6D3E\u5355"
|
|
}, {
|
|
default: withCtx((_, _push2, _parent2, _scopeId) => {
|
|
if (_push2) {
|
|
_push2(`<div class="p-6 space-y-4"${_scopeId}><div class="flex items-center justify-between p-4 bg-primary-50 rounded-xl"${_scopeId}><div${_scopeId}><div class="text-sm font-bold"${_scopeId}>#1003 \u8D75\u963F\u59E8 \u2014 \u52A9\u6D74\u670D\u52A1</div><div class="text-xs text-text-secondary"${_scopeId}>\u6885\u6C5F\u533A\u91D1\u5C71\u8857\u9053 \xB7 2026-05-18 09:00-10:00 \xB7 \u4F4E\u98CE\u9669</div></div><span class="px-3 py-1.5 bg-primary text-white rounded-lg text-xs font-medium"${_scopeId}>\u5F85\u6D3E\u5355</span></div><div class="text-sm font-medium text-text-primary mt-4 mb-2"${_scopeId}>\u667A\u80FD\u63A8\u8350 Top 3</div><!--[-->`);
|
|
ssrRenderList([
|
|
{ name: "\u674E\u62A4\u7406\u5458", score: 92, reasons: "\u8D44\u8D28\u5339\u914D\xB7\u8DDD\u79BB1.2km\xB7\u8D1F\u8F7D\u4F4E\xB7\u6EE1\u610F\u5EA64.8" },
|
|
{ name: "\u738B\u62A4\u7406\u5458", score: 85, reasons: "\u533A\u57DF\u5339\u914D\xB7\u6280\u80FD\u5339\u914D\xB7\u4ECA\u65E5\u5DE5\u53552/6" },
|
|
{ name: "\u9648\u62A4\u7406\u5458", score: 78, reasons: "\u66FE\u670D\u52A1\u8BE5\u5BF9\u8C61\xB7\u6EE1\u610F\u5EA64.6\xB7\u5DE5\u5355\u91CF\u9002\u4E2D" }
|
|
], (r, i) => {
|
|
_push2(`<div class="flex items-center gap-4 p-4 rounded-xl border hover:border-primary hover:bg-primary-50/50 transition-colors cursor-pointer"${_scopeId}><span class="w-10 h-10 rounded-full bg-gradient-to-br from-primary-50 to-accent-50 text-primary flex items-center justify-center font-bold text-sm shrink-0"${_scopeId}>${ssrInterpolate(i + 1)}</span><div class="flex-1 min-w-0"${_scopeId}><div class="text-sm font-medium"${_scopeId}>${ssrInterpolate(r.name)}</div><div class="text-xs text-text-secondary truncate"${_scopeId}>${ssrInterpolate(r.reasons)}</div></div><span class="text-lg font-bold font-mono text-primary shrink-0"${_scopeId}>${ssrInterpolate(r.score)}</span><button class="px-4 py-2 bg-primary text-white rounded-lg text-xs font-medium hover:bg-primary-700 transition-colors shrink-0"${_scopeId}>\u6D3E\u5355</button></div>`);
|
|
});
|
|
_push2(`<!--]--></div>`);
|
|
} else {
|
|
return [
|
|
createVNode("div", { class: "p-6 space-y-4" }, [
|
|
createVNode("div", { class: "flex items-center justify-between p-4 bg-primary-50 rounded-xl" }, [
|
|
createVNode("div", null, [
|
|
createVNode("div", { class: "text-sm font-bold" }, "#1003 \u8D75\u963F\u59E8 \u2014 \u52A9\u6D74\u670D\u52A1"),
|
|
createVNode("div", { class: "text-xs text-text-secondary" }, "\u6885\u6C5F\u533A\u91D1\u5C71\u8857\u9053 \xB7 2026-05-18 09:00-10:00 \xB7 \u4F4E\u98CE\u9669")
|
|
]),
|
|
createVNode("span", { class: "px-3 py-1.5 bg-primary text-white rounded-lg text-xs font-medium" }, "\u5F85\u6D3E\u5355")
|
|
]),
|
|
createVNode("div", { class: "text-sm font-medium text-text-primary mt-4 mb-2" }, "\u667A\u80FD\u63A8\u8350 Top 3"),
|
|
(openBlock(), createBlock(Fragment, null, renderList([
|
|
{ name: "\u674E\u62A4\u7406\u5458", score: 92, reasons: "\u8D44\u8D28\u5339\u914D\xB7\u8DDD\u79BB1.2km\xB7\u8D1F\u8F7D\u4F4E\xB7\u6EE1\u610F\u5EA64.8" },
|
|
{ name: "\u738B\u62A4\u7406\u5458", score: 85, reasons: "\u533A\u57DF\u5339\u914D\xB7\u6280\u80FD\u5339\u914D\xB7\u4ECA\u65E5\u5DE5\u53552/6" },
|
|
{ name: "\u9648\u62A4\u7406\u5458", score: 78, reasons: "\u66FE\u670D\u52A1\u8BE5\u5BF9\u8C61\xB7\u6EE1\u610F\u5EA64.6\xB7\u5DE5\u5355\u91CF\u9002\u4E2D" }
|
|
], (r, i) => {
|
|
return createVNode("div", {
|
|
key: i,
|
|
class: "flex items-center gap-4 p-4 rounded-xl border hover:border-primary hover:bg-primary-50/50 transition-colors cursor-pointer"
|
|
}, [
|
|
createVNode("span", { class: "w-10 h-10 rounded-full bg-gradient-to-br from-primary-50 to-accent-50 text-primary flex items-center justify-center font-bold text-sm shrink-0" }, toDisplayString(i + 1), 1),
|
|
createVNode("div", { class: "flex-1 min-w-0" }, [
|
|
createVNode("div", { class: "text-sm font-medium" }, toDisplayString(r.name), 1),
|
|
createVNode("div", { class: "text-xs text-text-secondary truncate" }, toDisplayString(r.reasons), 1)
|
|
]),
|
|
createVNode("span", { class: "text-lg font-bold font-mono text-primary shrink-0" }, toDisplayString(r.score), 1),
|
|
createVNode("button", { class: "px-4 py-2 bg-primary text-white rounded-lg text-xs font-medium hover:bg-primary-700 transition-colors shrink-0" }, "\u6D3E\u5355")
|
|
]);
|
|
}), 64))
|
|
])
|
|
];
|
|
}
|
|
}),
|
|
_: 1
|
|
}, _parent));
|
|
_push(`</div></section>`);
|
|
} else {
|
|
_push(`<!---->`);
|
|
}
|
|
if (activeTab.value === "delivery") {
|
|
_push(`<section class="py-12 bg-surface"><div class="section-container space-y-6"><div class="grid lg:grid-cols-3 gap-6">`);
|
|
_push(ssrRenderComponent(_component_PlatformSection, { title: "Delivery \u5DE5\u4F5C\u53F0" }, {
|
|
default: withCtx((_, _push2, _parent2, _scopeId) => {
|
|
if (_push2) {
|
|
_push2(`<div class="p-4 space-y-3"${_scopeId}><div class="flex items-center justify-between text-sm"${_scopeId}><span class="text-text-secondary"${_scopeId}>\u4ECA\u65E5\u5DE5\u5355</span><span class="font-bold"${_scopeId}>6</span></div><div class="flex items-center justify-between text-sm"${_scopeId}><span class="text-text-secondary"${_scopeId}>\u5F85\u63A5\u5355</span><span class="font-bold text-blue-600"${_scopeId}>2</span></div><div class="flex items-center justify-between text-sm"${_scopeId}><span class="text-text-secondary"${_scopeId}>\u5F85\u7B7E\u5230</span><span class="font-bold text-teal-600"${_scopeId}>1</span></div><div class="flex items-center justify-between text-sm"${_scopeId}><span class="text-text-secondary"${_scopeId}>\u670D\u52A1\u4E2D</span><span class="font-bold text-accent-700"${_scopeId}>1</span></div><div class="flex items-center justify-between text-sm"${_scopeId}><span class="text-text-secondary"${_scopeId}>\u5DF2\u5B8C\u6210</span><span class="font-bold text-green-600"${_scopeId}>2</span></div></div>`);
|
|
} else {
|
|
return [
|
|
createVNode("div", { class: "p-4 space-y-3" }, [
|
|
createVNode("div", { class: "flex items-center justify-between text-sm" }, [
|
|
createVNode("span", { class: "text-text-secondary" }, "\u4ECA\u65E5\u5DE5\u5355"),
|
|
createVNode("span", { class: "font-bold" }, "6")
|
|
]),
|
|
createVNode("div", { class: "flex items-center justify-between text-sm" }, [
|
|
createVNode("span", { class: "text-text-secondary" }, "\u5F85\u63A5\u5355"),
|
|
createVNode("span", { class: "font-bold text-blue-600" }, "2")
|
|
]),
|
|
createVNode("div", { class: "flex items-center justify-between text-sm" }, [
|
|
createVNode("span", { class: "text-text-secondary" }, "\u5F85\u7B7E\u5230"),
|
|
createVNode("span", { class: "font-bold text-teal-600" }, "1")
|
|
]),
|
|
createVNode("div", { class: "flex items-center justify-between text-sm" }, [
|
|
createVNode("span", { class: "text-text-secondary" }, "\u670D\u52A1\u4E2D"),
|
|
createVNode("span", { class: "font-bold text-accent-700" }, "1")
|
|
]),
|
|
createVNode("div", { class: "flex items-center justify-between text-sm" }, [
|
|
createVNode("span", { class: "text-text-secondary" }, "\u5DF2\u5B8C\u6210"),
|
|
createVNode("span", { class: "font-bold text-green-600" }, "2")
|
|
])
|
|
])
|
|
];
|
|
}
|
|
}),
|
|
_: 1
|
|
}, _parent));
|
|
_push(ssrRenderComponent(_component_PlatformSection, { title: "GPS \u7B7E\u5230" }, {
|
|
default: withCtx((_, _push2, _parent2, _scopeId) => {
|
|
if (_push2) {
|
|
_push2(`<div class="p-4 space-y-3"${_scopeId}><div class="text-xs text-text-secondary"${_scopeId}>\u5F53\u524D\u4F4D\u7F6E\u8DDD\u670D\u52A1\u5730\u5740</div><div class="text-3xl font-bold font-mono text-accent-700"${_scopeId}>85m</div><div class="text-xs text-green-600"${_scopeId}>\u2713 200\u7C73\u8303\u56F4\u5185\uFF0C\u53EF\u7B7E\u5230</div><div class="flex gap-2 mt-3"${_scopeId}><div class="w-full h-20 rounded-xl bg-gray-100 flex items-center justify-center text-xs text-text-secondary"${_scopeId}>\u{1F4F7} \u73B0\u573A\u62CD\u7167</div><div class="w-full h-20 rounded-xl bg-gray-100 flex items-center justify-center text-xs text-text-secondary"${_scopeId}>\u270D\uFE0F \u5BF9\u8C61\u786E\u8BA4</div></div><button class="w-full py-3 bg-cta text-white rounded-xl text-sm font-bold hover:bg-cta-700 transition-colors"${_scopeId}>\u786E\u8BA4\u7B7E\u5230</button></div>`);
|
|
} else {
|
|
return [
|
|
createVNode("div", { class: "p-4 space-y-3" }, [
|
|
createVNode("div", { class: "text-xs text-text-secondary" }, "\u5F53\u524D\u4F4D\u7F6E\u8DDD\u670D\u52A1\u5730\u5740"),
|
|
createVNode("div", { class: "text-3xl font-bold font-mono text-accent-700" }, "85m"),
|
|
createVNode("div", { class: "text-xs text-green-600" }, "\u2713 200\u7C73\u8303\u56F4\u5185\uFF0C\u53EF\u7B7E\u5230"),
|
|
createVNode("div", { class: "flex gap-2 mt-3" }, [
|
|
createVNode("div", { class: "w-full h-20 rounded-xl bg-gray-100 flex items-center justify-center text-xs text-text-secondary" }, "\u{1F4F7} \u73B0\u573A\u62CD\u7167"),
|
|
createVNode("div", { class: "w-full h-20 rounded-xl bg-gray-100 flex items-center justify-center text-xs text-text-secondary" }, "\u270D\uFE0F \u5BF9\u8C61\u786E\u8BA4")
|
|
]),
|
|
createVNode("button", { class: "w-full py-3 bg-cta text-white rounded-xl text-sm font-bold hover:bg-cta-700 transition-colors" }, "\u786E\u8BA4\u7B7E\u5230")
|
|
])
|
|
];
|
|
}
|
|
}),
|
|
_: 1
|
|
}, _parent));
|
|
_push(ssrRenderComponent(_component_PlatformSection, { title: "\u9879\u76EE\u6267\u884C\u8BB0\u5F55" }, {
|
|
default: withCtx((_, _push2, _parent2, _scopeId) => {
|
|
if (_push2) {
|
|
_push2(`<div class="p-4 space-y-3"${_scopeId}><!--[-->`);
|
|
ssrRenderList([
|
|
{ name: "\u52A9\u6D01\u670D\u52A1", status: "COMPLETED", time: "09:15-10:05", duration: "50\u5206\u949F" },
|
|
{ name: "\u5065\u5EB7\u76D1\u6D4B", status: "IN_PROGRESS", time: "10:10-", duration: "\u8FDB\u884C\u4E2D" },
|
|
{ name: "\u5EB7\u590D\u6307\u5BFC", status: "PENDING", time: "--", duration: "\u5F85\u6267\u884C" }
|
|
], (item, i) => {
|
|
_push2(`<div class="flex items-center gap-3 text-sm"${_scopeId}><span class="${ssrRenderClass([
|
|
"w-2 h-2 rounded-full shrink-0",
|
|
item.status === "COMPLETED" ? "bg-green-500" : item.status === "IN_PROGRESS" ? "bg-accent" : "bg-gray-300"
|
|
])}"${_scopeId}></span><span class="flex-1 font-medium"${_scopeId}>${ssrInterpolate(item.name)}</span><span class="text-xs text-text-secondary"${_scopeId}>${ssrInterpolate(item.time)}</span><span class="text-xs text-text-secondary w-14 text-right"${_scopeId}>${ssrInterpolate(item.duration)}</span></div>`);
|
|
});
|
|
_push2(`<!--]--></div>`);
|
|
} else {
|
|
return [
|
|
createVNode("div", { class: "p-4 space-y-3" }, [
|
|
(openBlock(), createBlock(Fragment, null, renderList([
|
|
{ name: "\u52A9\u6D01\u670D\u52A1", status: "COMPLETED", time: "09:15-10:05", duration: "50\u5206\u949F" },
|
|
{ name: "\u5065\u5EB7\u76D1\u6D4B", status: "IN_PROGRESS", time: "10:10-", duration: "\u8FDB\u884C\u4E2D" },
|
|
{ name: "\u5EB7\u590D\u6307\u5BFC", status: "PENDING", time: "--", duration: "\u5F85\u6267\u884C" }
|
|
], (item, i) => {
|
|
return createVNode("div", {
|
|
key: i,
|
|
class: "flex items-center gap-3 text-sm"
|
|
}, [
|
|
createVNode("span", {
|
|
class: [
|
|
"w-2 h-2 rounded-full shrink-0",
|
|
item.status === "COMPLETED" ? "bg-green-500" : item.status === "IN_PROGRESS" ? "bg-accent" : "bg-gray-300"
|
|
]
|
|
}, null, 2),
|
|
createVNode("span", { class: "flex-1 font-medium" }, toDisplayString(item.name), 1),
|
|
createVNode("span", { class: "text-xs text-text-secondary" }, toDisplayString(item.time), 1),
|
|
createVNode("span", { class: "text-xs text-text-secondary w-14 text-right" }, toDisplayString(item.duration), 1)
|
|
]);
|
|
}), 64))
|
|
])
|
|
];
|
|
}
|
|
}),
|
|
_: 1
|
|
}, _parent));
|
|
_push(`</div></div></section>`);
|
|
} else {
|
|
_push(`<!---->`);
|
|
}
|
|
_push(ssrRenderComponent(_component_CtaSection, null, null, _parent));
|
|
_push(`<!--]-->`);
|
|
};
|
|
}
|
|
});
|
|
const _sfc_setup = _sfc_main.setup;
|
|
_sfc_main.setup = (props, ctx) => {
|
|
const ssrContext = useSSRContext();
|
|
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("pages/demo.vue");
|
|
return _sfc_setup ? _sfc_setup(props, ctx) : void 0;
|
|
};
|
|
|
|
export { _sfc_main as default };
|
|
//# sourceMappingURL=demo-BC4si0ca.mjs.map
|