PageSourceSearch

https://task.com.tw/assets/SuperAdminOnpremLicenses-dprakfDO.js

js task.com.tw collected 2026-10-08 16:06:54 UTC 22,797 bytes, 1 lines download raw bytes

1import{j as e,ba as F,r as l,t as w,an as z,aR as B,aM as V,O as $,bn as G,bR as K}from"./vendor-react-Cek5_fI5.js";import{t as j,C as D,q as T,r as R,d as I,L as p,I as u,j as _,k as Q,l as W,m as q,n as J,T as Z,B as C,bM as X,p as b,y as Y,z as ee,A as se,E as te,G as ne}from"./index-DnYEcI1T.js";import{S as ae}from"./SuperAdminNav-CO-gYzki.js";import"./vendor-charts-CdtAEet6.js";import"./vendor-export-Do0PDzts.js";const L={starter:{name:"經濟型套裝",seatCount:10,price:2e5},standard:{name:"商務型套裝",seatCount:50,price:5e5},enterprise:{name:"旗艦型套裝",seatCount:200,price:1e6}},ce=Object.keys(L);function re(n){return L[n]?.name??n}function H(n){if(!n)return"—";const c=new Date(n);return Number.isNaN(c.getTime())?n:new Intl.DateTimeFormat("zh-TW",{year:"numeric",month:"2-digit",day:"2-digit"}).format(c)}function P(n){if(!n)return"—";const c=new Date(n);return Number.isNaN(c.getTime())?n:new Intl.DateTimeFormat("zh-TW",{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"}).format(c)}function ie(n){return Math.ceil((new Date(n).getTime()-Date.now())/(1e3*60*60*24))}function le(n){return Math.floor((Date.now()-new Date(n).getTime())/(1e3*60*60*24))}function de(n){const c=new Blob([n],{type:"text/plain"}),r=URL.createObjectURL(c),i=document.createElement("a");i.href=r,i.download="app.lic",document.body.appendChild(i),i.click(),i.remove(),URL.revokeObjectURL(r)}function Ae(){return e.jsxs("div",{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:70",className:"min-h-screen bg-background",children:[e.jsx(ae,{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:71",current:"/admin/onprem-licenses"}),e.jsxs("div",{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:72",className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8 space-y-8",children:[e.jsxs("div",{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:73",children:[e.jsxs("h2",{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:74",className:"text-2xl font-bold flex items-center gap-2",children:[e.jsx(F,{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:75",className:"w-6 h-6"})," 地端授權"]}),e.jsx("p",{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:77",className:"text-sm text-muted-foreground mt-1",children:"簽發地端交付客戶的授權序號,並監看每日心跳回報狀態。"})]}),e.jsx(pe,{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:81"}),e.jsx(me,{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:82"})]})]})}function pe(){const n=j.useUtils(),c=new Date().toLocaleDateString("en-CA",{timeZone:"Asia/Taipei"}),[r,i]=l.useState(""),[a,y]=l.useState(""),[g,O]=l.useState("standard"),h=L[g].seatCount,[N,m]=l.useState(c),[s,d]=l.useState(14),[f,o]=l.useState(""),[S,x]=l.useState(""),[A,k]=l.useState(null),v=j.onpremLicenseAdmin.issue.useMutation({onSuccess:t=>{w.success(`已簽發序號 ${t.serialNumber}`),de(t.licenseJws),k({serialNumber:t.serialNumber,expiresAt:t.expiresAt}),n.onpremLicenseAdmin.list.invalidate(),i(""),y(""),O("standard"),m(c),d(14),o(""),x("")},onError:t=>w.error(t.message)}),E=r.trim().length>0&&a.trim().length>0&&s>0&&N.length>0&&!v.isPending,M=()=>{const t=f.split(",").map(U=>U.trim()).filter(Boolean);v.mutate({customerName:r.trim(),machineFingerprint:a.trim(),maxUsers:h,planCode:g,startDate:N,months:s,modules:t,note:S.trim()||void 0})};return e.jsxs(D,{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:145",children:[e.jsx(T,{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:146",children:e.jsx(R,{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:147",children:"簽發新授權"})}),e.jsxs(I,{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:149",className:"space-y-4",children:[A&&e.jsxs("div",{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:151",className:"p-3 rounded-md border border-emerald-300 bg-emerald-50 dark:bg-emerald-950 text-sm space-y-1",children:[e.jsxs("p",{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:152",className:"font-medium text-emerald-800 dark:text-emerald-200",children:["已簽發序號:",e.jsx("span",{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:153",className:"font-mono",children:A.serialNumber})]}),e.jsxs("p",{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:155",className:"text-emerald-700 dark:text-emerald-300",children:["到期日:",H(A.expiresAt)]}),e.jsx("p",{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:156",className:"text-xs text-muted-foreground",children:"æŽ
1ˆæ¬Šæª”已下載為 app.lic,請交付給客戶。"})]}),e.jsxs("div",{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:160",className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[e.jsxs("div",{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:161",className:"space-y-1.5",children:[e.jsx(p,{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:162",children:"客戶名稱 *"}),e.jsx(u,{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:163",value:r,onChange:t=>i(t.target.value),placeholder:"例如:森呼吸股份有限公司"})]}),e.jsxs("div",{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:165",className:"space-y-1.5",children:[e.jsx(p,{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:166",children:"機器指紋 *"}),e.jsx(u,{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:167",value:a,onChange:t=>y(t.target.value),placeholder:"客戶主機回報的指紋字串",className:"font-mono"})]}),e.jsxs("div",{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:169",className:"space-y-1.5",children:[e.jsx(p,{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:170",children:"套裝方案 *"}),e.jsxs(_,{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:171",value:g,onValueChange:t=>O(t),children:[e.jsx(Q,{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:172",children:e.jsx(W,{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:172"})}),e.jsx(q,{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:173",children:ce.map(t=>e.jsxs(J,{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:175",value:t,children:[L[t].name,"(",L[t].seatCount," 席,",t,")"]},t))})]})]}),e.jsxs("div",{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:182",className:"space-y-1.5",children:[e.jsx(p,{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:183",children:"人數上限"}),e.jsx(u,{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:184",type:"number",value:h,readOnly:!0,className:"bg-muted text-muted-foreground"}),e.jsxs("p",{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:185",className:"text-xs text-muted-foreground",children:["由「",L[g].name,"」的席次自動帶入,不可自行修改;要換人數請改選套裝方案。"]})]}),e.jsxs("div",{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:189",className:"space-y-1.5",children:[e.jsx(p,{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:190",children:"起算日 *"}),e.jsx(u,{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:191",type:"date",value:N,onChange:t=>m(t.target.value)})]}),e.jsxs("div",{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:193",className:"space-y-1.5",children:[e.jsx(p,{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:194",children:"月數 *"}),e.jsx(u,{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:195",type:"number",min:1,value:s,onChange:t=>d(Number(t.target.value)||0)}),e.jsx("p",{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:196",className:"text-xs text-muted-foreground",children:"年繳為付 12 個月用 14 個月,預設值 14 不是填錯。"})]}),e.jsxs("div",{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:198",className:"space-y-1.5 sm:col-span-2",children:[e.jsx(p,{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:199",children:"模組清單(選填,以逗號分隔)"}),e.jsx(u,{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:200",value:f,onChange:t=>o(t.target.value),placeholder:"例如:senhuxi-customer-care-v1, senhuxi-product-decision-ai-v1"})]}),e.jsxs("div",{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:202",className:"space-y-1.5 sm:col-span-2",children:[e.jsx(p,{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:203",children:"備註"}),e.jsx(Z,{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:204",value:S,onChange:t=>x(t.target.value),rows:2,placeholder:"內部備註,客戶看不到"})]})]}),e.jsx("div",{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:208",className:"flex justify-end",children:e.jsx(C,{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:209",onClick:M,disabled:!E,children:v.isPending?"簽發中…":"簽發授權"})})]})]})}function me(){const n=j.useUtils(),[c,r]=l.useState(""),i=l.useDeferredValue(c),[a,y]=l.useState(!1),[g,O]=l.useState(null),{data:h,isPending:N}=j.onpremLicenseAdmin.list.useQuery({search:i||void 0,includeRevoked:a},{placeholderData:X}),m=j.onpremLicenseAdmin.revoke.useMutation({onSuccess:()=>
1{w.success("狀態已更新"),n.onpremLicenseAdmin.list.invalidate()},onError:s=>w.error(s.message)});return e.jsxs(D,{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:243",children:[e.jsxs(T,{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:244",children:[e.jsx(R,{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:245",children:"已簽發清單"}),e.jsx("p",{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:246",className:"text-xs text-muted-foreground",children:"作廢僅為我方登記,不會停止客戶端系統運作(地端無即時控制通道)。"})]}),e.jsxs(I,{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:250",className:"space-y-4",children:[e.jsxs("div",{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:251",className:"flex flex-col sm:flex-row gap-3",children:[e.jsxs("div",{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:252",className:"relative flex-1",children:[e.jsx(z,{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:253",className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-muted-foreground"}),e.jsx(u,{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:254",placeholder:"搜尋客戶名稱、序號...",className:"pl-9",value:c,onChange:s=>r(s.target.value)})]}),e.jsxs("label",{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:256",className:"flex items-center gap-2 text-sm px-1 shrink-0",children:[e.jsx("input",{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:257",type:"checkbox",checked:a,onChange:s=>y(s.target.checked),className:"rounded"}),"顯示已作廢"]})]}),N?e.jsx("div",{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:263",className:"flex justify-center py-12",children:e.jsx("div",{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:264",className:"animate-spin rounded-full h-8 w-8 border-b-2 border-primary"})}):e.jsx("div",{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:267",className:"border rounded-lg overflow-x-auto",children:e.jsxs("table",{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:268",className:"w-full text-sm",children:[e.jsx("thead",{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:269",className:"bg-muted/50",children:e.jsxs("tr",{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:270",children:[e.jsx("th",{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:271",className:"text-left p-3 font-medium",children:"客戶名稱"}),e.jsx("th",{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:272",className:"text-left p-3 font-medium",children:"序號"}),e.jsx("th",{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:273",className:"text-center p-3 font-medium",children:"方案"}),e.jsx("th",{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:274",className:"text-center p-3 font-medium",children:"人數上限"}),e.jsx("th",{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:275",className:"text-center p-3 font-medium",children:"到期日"}),e.jsx("th",{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:276",className:"text-center p-3 font-medium",children:"最後回報時間"}),e.jsx("th",{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:277",className:"text-center p-3 font-medium",children:e.jsxs("span",{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:278",className:"inline-flex items-center gap-1",title:"同一份授權在多台主機回報 = 一授權多裝的證據",children:["回報主機數 ",e.jsx(B,{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:279",className:"w-3 h-3"})]})}),e.jsx("th",{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:282",className:"text-center p-3 font-medium",children:"來源 IP 數"}),e.jsx("th",{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:283",className:"text-center p-3 font-medium",children:"最後回報人數"}),e.jsx("th",{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:284",className:"text-center p-3 font-medium",children:"版本"}),e.jsx("th",{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:285",className:"text-center p-3 font-medium",children:"狀態"}),e.jsx("th",{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:286",className:"text-center p-3 font-medium",children:"操作"})]})}),e.jsxs("tbody",{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:289",className:"divide-y divide-border",children:[(h??[]).map(s=>{const d=!!s.revokedAt,f=ie(s.expiresAt),o=!d&&f<0,S=!d&&!o&&f<=30,x=s.lastHeartbeatAt?le(s.lastHeartbeatAt):null,A=!d&&(x===null||x>7),k=s.distinctHostCount>1,v=d?"opacity-50":S||o?"bg-yellow-50 dark:bg-yellow-950/40":"";return e.jsxs("tr",{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:300",className:`hover:bg-muted/30 transition-colors ${v}`,children:[e.jsx("td",{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:301",className:"p-3 font-medium",children:s.customerName}),e.jsx("td",{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:302",className:"p-3 font-mono text-xs",children:s.serialNumber}),e.jsx("td",{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:303",className:"p-3 text-center",children:e.jsx(b,{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:304",variant:"outline",className:"text-xs",children:re(s.planCode)})}),e.jsx("td",{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:306",className:"p-3 text-center",children:s.maxUsers}),e.jsx("td",{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:307",className:"p-3 text-center",children:e.jsx("span",{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:308",className:o?"text-red-600 font-semibold":S?"text-yellow-700":"",children:H(s.expiresAt)})}),e.jsx("td",{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:312",className:`p-3 text-center ${A?"text-muted-foreground":""}`,children:s.lastHeartbeatAt?e.jsxs("div",{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:314",children:[e.jsx("div",{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:315",children:P(s.lastHeartbeatAt)}),A&&x!==null&&e.jsxs("div",{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:317",className:"text-[11px] text-muted-foreground",children:["已 ",x," 天未回報"]})]}):e.jsx("span",{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:321",className:"text-muted-foreground",children:"從未回報"})}),e.jsx("td",{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:324",className:"p-3 text-center",children:k?e.jsxs("span",{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:326",className:"inline-flex items-center gap-1 text-red-600 font-bold",title:"同一份授權出現在多台主機上,疑似一授權多裝",children:[e.jsx(V,{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:327",className:"w-3.5 h-3.5"}),s.distinctHostCount]}):e.jsx("span",{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:331",children:s.distinctHostCount})}),e.jsx("td",{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:334",className:"p-3 text-center",children:s.distinctIpCount}),e.jsx("td",{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:335",className:"p-3 text-center",children:s.lastReportedActiveUsers??"—"}),e.jsx("td",{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:336",className:"p-3 text-center text-xs",children:s.lastReportedVersion??"—"}),e.jsx("td",{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:337",className:"p-3 text-center",children:d?e.jsx(b,{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:339",className:"bg-gray-200 text-gray-700 text-xs",children:"已作廢"}):o?e.jsx(b,{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:341",className:"bg-red-100 text-red-800 text-xs",children:"已到期"}):S?e.jsx(b,{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:343",className:"bg-yellow-100 text-yellow-800 text-xs",children:"即將到期"}):e.jsx(b,{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:345",className:"bg-green-100 text-green-800 text-xs",children:"使用中"})}),e.jsx("td",{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:348",className:"p-3",children:e.jsxs("div",{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:349",className:"flex items-center justify-center gap-1",children:[e.jsx(C,{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:350",variant:"ghost",size:"sm",title:"查看回報歷史",onClick:()=>
1O(s.serialNumber),children:e.jsx($,{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:351",className:"w-4 h-4"})}),d?e.jsx(C,{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:354",variant:"ghost",size:"sm",title:"取消作廢(僅為我方登記,不會影響客戶端系統運作)",onClick:()=>m.mutate({id:s.id,revoked:!1}),disabled:m.isPending,children:e.jsx(G,{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:361",className:"w-4 h-4 text-green-600"})}):e.jsx(C,{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:364",variant:"ghost",size:"sm",title:"作廢僅為我方登記,不會停止客戶端系統運作",onClick:()=>{confirm(`確定要作廢「${s.customerName}」(序號 ${s.serialNumber})嗎?此動作僅為我方登記,不會停止客戶端系統運作。`)&&m.mutate({id:s.id,revoked:!0})},disabled:m.isPending,children:e.jsx(K,{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:375",className:"w-4 h-4 text-red-500"})})]})})]},s.id)}),(!h||h.length===0)&&e.jsx("tr",{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:384",children:e.jsx("td",{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:385",colSpan:12,className:"p-8 text-center text-muted-foreground",children:"暫無資料"})})]})]})})]}),e.jsx(oe,{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:396",serialNumber:g,onOpenChange:s=>!s&&O(null)})]})}function oe({serialNumber:n,onOpenChange:c}){const{data:r,isPending:i}=j.onpremLicenseAdmin.heartbeats.useQuery({serialNumber:n??"",limit:100},{enabled:!!n});return e.jsx(Y,{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:414",open:!!n,onOpenChange:c,children:e.jsxs(ee,{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:415",className:"sm:max-w-4xl max-h-[90vh] overflow-y-auto",children:[e.jsxs(se,{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:416",children:[e.jsxs(te,{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:417",children:["回報歷史 — ",n]}),e.jsx(ne,{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:418",children:"最近 100 筆心跳回報紀錄"})]}),i?e.jsx("div",{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:421",className:"py-8 text-center text-muted-foreground",children:"載入中…"}):e.jsx("div",{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:423",className:"border rounded-md overflow-x-auto",children:e.jsxs("table",{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:424",className:"w-full text-sm",children:[e.jsx("thead",{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:425",className:"bg-muted/50",children:e.jsxs("tr",{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:426",children:[e.jsx("th",{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:427",className:"text-left p-2 font-medium",children:"回報時間"}),e.jsx("th",{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:428",className:"text-left p-2 font-medium",children:"主機特徵"}),e.jsx("th",{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:429",className:"text-left p-2 font-medium",children:"主機名稱"}),e.jsx("th",{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:430",className:"text-left p-2 font-medium",children:"來源 IP"}),e.jsx("th",{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:431",className:"text-center p-2 font-medium",children:"人數"}),e.jsx("th",{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:432",className:"text-left p-2 font-medium",children:"版本"}),e.jsx("th",{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:433",className:"text-left p-2 font-medium",children:"狀態"})]})}),e.jsxs("tbody",{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:436",className:"divide-y divide-border",children:[(r??[]).map(a=>e.jsxs("tr",{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:438",children:[e.jsx("td",{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:439",className:"p-2 whitespace-nowrap",children:P(a.reportedAt??a.receivedAt)}),e.jsx("td",{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:440",className:"p-2 font-mono text-xs",children:a.hostSignature}),e.jsx("td",{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:441",className:"p-2",children:a.hostname??"—"}),e.jsx("td",{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:442",className:"p-2 font-mono text-xs",children:a.sourceIp??"—"}),e.jsx("td",{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:443",className:"p-2 text-center",children:a.activeUsers??"—"}),e.jsx("td",{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:444",className:"p-2 text-xs",children:a.appVersion??"—"}),e.jsx("td",{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:445",className:"p-2 text-xs",children:a.licenseStatus??"—"})]},a.id)),(!r||r.length===0)&&e.jsx("tr",{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:449",children:e.jsx("td",{"data-loc":"client/src/pages/SuperAdminOnpremLicenses.tsx:449",colSpan:7,className:"p-6 text-center text-muted-foreground",children:"尚無回報紀錄"})})]})]})})]})})}export{Ae as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.