You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
hy-screen-2.0/docs/assets/index-38922c40-178672504446...

13 lines
25 KiB

var Nt=Object.defineProperty,Rt=Object.defineProperties;var Vt=Object.getOwnPropertyDescriptors;var dt=Object.getOwnPropertySymbols;var Ht=Object.prototype.hasOwnProperty,Pt=Object.prototype.propertyIsEnumerable;var mt=(e,t,o)=>t in e?Nt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o,$=(e,t)=>{for(var o in t||(t={}))Ht.call(t,o)&&mt(e,o,t[o]);if(dt)for(var o of dt(t))Pt.call(t,o)&&mt(e,o,t[o]);return e},x=(e,t)=>Rt(e,Vt(t));var L=(e,t,o)=>new Promise((d,f)=>{var g=w=>{try{b(o.next(w))}catch(k){f(k)}},p=w=>{try{b(o.throw(w))}catch(k){f(k)}},b=w=>w.done?d(w.value):Promise.resolve(w.value).then(g,p);b((o=o.apply(e,t)).next())});import{k as wt,a3 as ht,g as et,q as zt,h as It,w as qt,o as c,c as m,z as ft,F as C,y as N,n as H,a,t as y,j as h,C as Ot,u as Ft,B as gt,f as vt,s as Bt,H as jt,e as Kt,D as Ut,_ as Qt,d as E,A as Wt}from"./index-1786725044461.js";const Gt="/openApi/screen2/smart-management";function Jt(e){return L(this,null,function*(){const t=yield wt(`${Gt}/context`,{params:{question:e},timeout:3e4});if((t==null?void 0:t.success)===!1||(t==null?void 0:t.code)!==void 0&&![0,200,"0","200"].includes(t.code)){const f=new Error((t==null?void 0:t.message)||(t==null?void 0:t.msg)||"V3业务数据整理失败");throw f.code=t==null?void 0:t.code,f}const d=ht(t);if(!Array.isArray(d==null?void 0:d.datasets)||!d.datasets.length){const f=new Error("V3业务数据中没有与当前问题相关的可用数据");throw f.code="SMART_DATA_EMPTY",f}return d})}const Xt="智慧管理",bt=200,Yt=/(phone|mobile|tel|idcard|identity|certificate.?number|token|secret|password|credential|device.?key|access.?key|身份证|证件号|电话|手机号|密钥|口令)/i;function Zt(o){return L(this,arguments,function*(e,t={}){const d=se(e),f=yield Jt(d),g=(f.datasets||[]).map(ee).filter(p=>p.rows.length);if(!g.length)throw new Error("V3业务数据中没有与当前问题相关的可用数据");return{question:d,pageName:Xt,pagePath:t.pagePath||window.location.hash||window.location.pathname,scope:f.scope||"红原县",intents:f.intents||[],datasets:g,charts:[],notes:["本次分析仅使用当前问题对应的V3业务数据。"],warnings:[],insights:ne(g),historyIncluded:!1,sensitiveFieldsIncluded:!1,sourcePolicy:f.sourcePolicy||"V3 Screen2 API / qkl2 safe allowlist"}})}function te(e={}){const t=Array.isArray(e.datasets)?e.datasets:[];if(!t.length)throw new Error("V3业务数据缺失,无法生成专题分析");const o=t.slice(0,8).map(d=>d.title).filter(Boolean);return[`分析范围:${e.scope||"红原县"}`,"本次可追溯业务数据:",...o.map(d=>`- ${d}`)].join(`
`)}function ee(e={},t=0){return{id:e.id||`v3-dataset-${t+1}`,title:e.title||`V3业务数据${t+1}`,suggestedView:ie(e.title,e.rows),source:Q(e.source||{label:"V3业务数据"}),rows:(Array.isArray(e.rows)?e.rows:[]).slice(0,bt).map(o=>Q(o)).filter(o=>o&&typeof o=="object")}}function Q(e,t=0){return t>5||e===void 0||typeof e=="function"?null:e===null||["string","number","boolean"].includes(typeof e)?e:Array.isArray(e)?e.slice(0,bt).map(o=>Q(o,t+1)):typeof e=="object"?Object.entries(e).reduce((o,[d,f])=>(Yt.test(String(d))||(o[d]=Q(f,t+1)),o),{}):String(e)}function ne(e=[]){var o,d;const t=[];for(const f of e){const g=(f.rows||[]).find(b=>{var k,v;const w=(v=(k=b==null?void 0:b.value)!=null?k:b==null?void 0:b.metric_value)!=null?v:b==null?void 0:b.numeric_value;return w!=null&&w!==""&&Number.isFinite(Number(w))});if(!g)continue;const p=(d=(o=g.value)!=null?o:g.metric_value)!=null?d:g.numeric_value;if(t.push({label:g.name||g.metric_name||f.title,value:`${oe(p)}${g.unit||g.metric_unit||""}`,note:f.title}),t.length>=5)break}return t}function ie(e="",t=[]){return!Array.isArray(t)||t.length<=1?"metrics":/结构|构成|占比|比例/.test(e)?"pie":/趋势|预测|年度/.test(e)?"line":"bar-table"}function se(e){return String(e||"").replace(/耗牛/g,"牦牛").replace(/犛牛/g,"牦牛").trim()}function oe(e){const t=Number(String(e).replace(/,/g,""));return Number.isFinite(t)?t.toLocaleString("zh-CN",{maximumFractionDigits:2}):e||"--"}const re={}.VITE_OPEN_API_BASE||"/openApi",le=12e4,ae=8e3,ue=12,ce=500,de=/(phone|mobile|tel|idcard|identity|certificate.?number|token|secret|password|credential|device.?key|access.?key|身份证|证件号|电话|手机号|密钥|口令)/i;function me(e){return/^https?:\/\//.test(e)?e:`${re}${e.startsWith("/")?e:`/${e}`}`}function fe(e){if((e==null?void 0:e.success)===!1||(e==null?void 0:e.code)!==void 0&&![0,200,"0","200"].includes(e.code)){const o=new Error((e==null?void 0:e.message)||(e==null?void 0:e.msg)||"HTML界面生成失败");throw o.code=e==null?void 0:e.code,o}return ht(e)}function ge(){return L(this,arguments,function*({question:e,answer:t="",charts:o=[],datasets:d=[],context:f=null,pagePath:g=window.location.hash||window.location.pathname,pageName:p="智慧管理"}={}){const b=ve({question:e,answer:t,charts:o,datasets:d,context:f}),w=yield wt(me("/screen2/smart-management/artifact/html"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({question:e,pagePath:g,pageName:p,dataJson:b}),timeout:11e4}).then(fe),k=String((w==null?void 0:w.provider)||""),v=String((w==null?void 0:w.model)||"");if(k.toLowerCase()!=="deepseek"||!v.toLowerCase().startsWith("deepseek-"))throw new Error("HTML界面不是由DeepSeek模型生成,已拒绝展示");const D=ye((w==null?void 0:w.html)||(w==null?void 0:w.content)||w);if(!D)throw new Error("代码模型没有返回完整HTML");if(pe(D))throw new Error("专题页面仍为原始数据表,已拒绝展示,请重新生成");return x($({},w),{html:D})})}function ve({question:e,answer:t,charts:o,datasets:d,context:f}){const g={question:String(e||"").trim(),generatedAt:new Date().toISOString(),presentation:{format:"business-report",requirements:["输出应为业务报告页面,而不是原始数据表或字段清单。","不要直接展示 key、rawValue、areaCode、areaRange 等技术字段名。","页面需包含结论、关键指标、图表化对比、重点对象和工作建议。"]},answer:String(t||"").slice(0,ae),context:we(f),datasets:[...he(o),...be(d)]},p=JSON.stringify(g);if(p.length>le){const b=new Error("汇总数据超过120000字符,请先缩小查询范围");throw b.code="ARTIFACT_DATA_TOO_LARGE",b}return p}function we(e){if(!e||typeof e!="object")return null;const{question:t,pageName:o,pagePath:d,scope:f,intents:g,notes:p,warnings:b,insights:w}=e;return W({question:t,pageName:o,pagePath:d,scope:f,intents:g,notes:p,warnings:b,insights:w})}function he(e=[]){return(Array.isArray(e)?e:[]).slice(0,6).map((t,o)=>({id:(t==null?void 0:t.id)||`chart-${o+1}`,title:(t==null?void 0:t.title)||`统计数据${o+1}`,suggestedView:(t==null?void 0:t.type)||"bar",unit:(t==null?void 0:t.unit)||"",subtitle:(t==null?void 0:t.subtitle)||"",source:(t==null?void 0:t.source)||{},rows:yt(t==null?void 0:t.rows)}))}function be(e=[]){return(Array.isArray(e)?e:[]).slice(0,ue).map((t,o)=>({id:(t==null?void 0:t.id)||`dataset-${o+1}`,title:(t==null?void 0:t.title)||(t==null?void 0:t.name)||`汇总数据${o+1}`,suggestedView:(t==null?void 0:t.suggestedView)||(t==null?void 0:t.type)||"auto",unit:(t==null?void 0:t.unit)||"",source:(t==null?void 0:t.source)||{},rows:yt((t==null?void 0:t.rows)||(t==null?void 0:t.data)||t)}))}function yt(e){return(Array.isArray(e)?e:[]).slice(0,ce).map(t=>W(t))}function W(e,t=0){return t>4||e===void 0||typeof e=="function"?null:e===null||["string","number","boolean"].includes(typeof e)?e:Array.isArray(e)?e.slice(0,50).map(o=>W(o,t+1)):typeof e=="object"?Object.entries(e).reduce((o,[d,f])=>(de.test(String(d))||(o[d]=W(f,t+1)),o),{}):String(e)}function ye(e){let t=String(e||"").trim();t.startsWith("```")&&(t=t.replace(/^```(?:html)?\s*/i,"").replace(/\s*```$/i,"").trim());const o=t.match(/<!doctype\s+html|<html\b/i),d=t.toLowerCase().lastIndexOf("</html>");return o&&d>=o.index&&(t=t.slice(o.index,d+7)),/<html\b/i.test(t)&&/<body\b/i.test(t)?t:""}function pe(e){const t=String(e||""),o=t.replace(/<[^>]+>/g," ").replace(/\s+/g," ").toLowerCase(),d=(t.match(/<table\b/gi)||[]).length,g=["rawvalue","areacode","arearange","livestockcapacity","bearingcapacity","overloadrate","dataset"," key "," type "].filter(p=>o.includes(p)).length;return d>=2&&g>=4||d>=1&&g>=6}function _e(e){const t=String(e||"").trim();if(!t||typeof DOMParser=="undefined")return"";const o=new DOMParser().parseFromString(t,"text/html"),d=o.createElement("script");return d.textContent=`
(() => {
const notify = (type, message = "") => {
window.parent.postMessage({ source: "smart-artifact", type, message: String(message).slice(0, 240) }, "*");
};
window.addEventListener("error", (event) => notify("runtime-error", event.message || "界面运行异常"));
window.addEventListener("unhandledrejection", (event) => notify("runtime-error", event.reason?.message || event.reason || "界面运行异常"));
window.addEventListener("DOMContentLoaded", () => notify("ready"));
})();
`,o.head.prepend(d),`<!doctype html>
${o.documentElement.outerHTML}`}const ke={class:"wisdom-management"},Ae={key:0,class:"wisdom-side wisdom-side-left"},Te={key:0,class:"wisdom-side-header"},Se={key:0},$e={key:1,class:"wisdom-side-metrics"},Ee={key:0},xe=["innerHTML"],Me={key:3,class:"wisdom-side-actions"},Ce=["disabled","onClick"],De={key:1,class:"wisdom-side wisdom-side-right"},Le={key:0,class:"wisdom-side-header"},Ne={key:0},Re={key:2,class:"wisdom-side-metrics"},Ve={key:0},He=["innerHTML"],Pe={key:4,class:"wisdom-side-actions"},ze=["disabled","onClick"],Ie={key:2,class:"wisdom-artifact-workspace"},qe={class:"wisdom-artifact-header"},Oe={class:"wisdom-artifact-heading"},Fe={class:"wisdom-artifact-tools"},Be=["disabled"],je={class:"wisdom-artifact-body"},Ke={key:0,class:"wisdom-artifact-building"},Ue={class:"wisdom-artifact-building__intro"},Qe=["srcdoc"],We={key:2,class:"wisdom-artifact-error"},Ge=["disabled"],Je={key:0,class:"wisdom-empty-state"},Xe={key:0,class:"wisdom-message-mark"},Ye={class:"wisdom-bubble"},Ze={key:0,class:"wisdom-digesting"},tn=["innerHTML"],en={key:2,class:"wisdom-stream-caret"},nn={key:3,class:"wisdom-suggestion-list"},sn=["disabled","onClick"],on={class:"wisdom-input-shell"},rn=["disabled"],ln=["disabled","title","aria-label"],an=["disabled"],un={key:0,class:"wisdom-button-loading"},mn={__name:"index",props:{active:{type:Boolean,default:!0}},setup(e){const t=Ut({loader:()=>Qt(()=>import("./SmartChartRenderer-b8de4b80-1786725044461.js"),["./SmartChartRenderer-b8de4b80-1786725044461.js","./index-1786725044461.js","./index-9afdaa7c-balabala-1786725044461.css","./index.esm.min-90d27a39-1786725044461.js","./SmartChartRenderer-7a3a96b9-balabala-1786725044461.css"],import.meta.url),loadingComponent:{template:'<div class="smart-chart-loading">正在绘制统计图表</div>'}}),o=e,d=E(""),f=E([]),g=E(!1),p=E(null),b=E(null),w=E([]),k=E([]),v=E(it()),D=et(()=>v.value.status!=="idle"),G=et(()=>["collecting","generating"].includes(v.value.status)),pt=et(()=>v.value.status==="collecting"?"汇总数据":v.value.status==="generating"?"生成页面":v.value.status==="ready"?"DeepSeek生成":v.value.status==="error"?"生成失败":v.value.status==="waiting"?"等待选择":"待生成"),j=E(!1),M=E(!1),I=E("");let P=null,S=null,R=0;const z=E(null);zt(()=>{St(),window.addEventListener("message",lt)}),It(()=>{X(),K(),R+=1,window.removeEventListener("message",lt)}),qt(()=>o.active,n=>{n||(X(),K(),R+=1,g.value=!1,f.value=f.value.map(s=>s.streaming?x($({},s),{streaming:!1,digesting:!1}):s))});function nt(){return`${Date.now()}-${Math.random().toString(16).slice(2)}`}function it(){return{status:"idle",title:"动态分析",question:"",html:"",error:"",model:"",renderKey:0}}function _t(n){R+=1,z.value=null,v.value=x($({},it()),{status:"collecting",title:st(n),question:n})}function st(n){const s=String(n||"动态分析").replace(/[??。!!]+$/g,"").trim();return s.length>28?`${s.slice(0,28)}...`:s||"动态分析"}function ot(n){return L(this,null,function*(){const s={question:(n==null?void 0:n.question)||v.value.question,answer:(n==null?void 0:n.answer)||"",charts:Array.isArray(n==null?void 0:n.charts)?n.charts:[],datasets:Array.isArray(n==null?void 0:n.datasets)?n.datasets:[],context:(n==null?void 0:n.context)||null,pagePath:window.location.hash||window.location.pathname,pageName:"智慧管理"};z.value=s;const i=++R;v.value=x($({},v.value),{status:"generating",title:st(s.question),question:s.question,html:"",error:"",model:""});try{const r=yield ge(s);if(i!==R)return{stale:!0};const l=_e(r.html);if(!l)throw new Error("生成页面内容为空");return v.value=x($({},v.value),{status:"ready",html:l,error:"",model:r.model||"DeepSeek",renderKey:Date.now()}),{ok:!0,result:r}}catch(r){if(i!==R)return{stale:!0};const l=ut(r,"DeepSeek专题分析生成失败,请稍后重新生成。");return console.error("[智慧管理] DeepSeek HTML生成失败",r),v.value=x($({},v.value),{status:"error",html:"",error:l,model:"",renderKey:Date.now()}),{ok:!1,message:l,error:r}}})}function rt(){!z.value||G.value||ot(z.value)}function kt(n){R+=1,v.value=x($({},v.value),{status:"error",html:"",error:n,renderKey:Date.now()})}function At(){v.value.status!=="ready"&&(v.value=x($({},v.value),{status:"ready"}))}function lt(n){var s,i;n.source!==((s=b.value)==null?void 0:s.contentWindow)||((i=n.data)==null?void 0:i.source)!=="smart-artifact"||n.data.type==="runtime-error"&&(v.value=x($({},v.value),{status:"error",html:"",error:n.data.message||"生成界面运行异常",renderKey:Date.now()}))}function at(n){return String(n||"").replace(/耗牛/g,"牦牛").replace(/犛牛/g,"牦牛")}function Tt(n){return at(n).trim()}function St(){if(typeof window=="undefined")return;const n=window.SpeechRecognition||window.webkitSpeechRecognition;j.value=!!n,n&&(S=new n,S.lang="zh-CN",S.continuous=!1,S.interimResults=!0,S.maxAlternatives=1,S.onstart=()=>{M.value=!0,I.value=""},S.onresult=s=>{const r=Array.from(s.results||[]).map(l=>{var u;return((u=l==null?void 0:l[0])==null?void 0:u.transcript)||""}).join("").trim();r&&(d.value=r)},S.onerror=s=>{M.value=!1,I.value=(s==null?void 0:s.error)||"语音输入失败"},S.onend=()=>{M.value=!1})}function $t(){if(!(!S||g.value)){if(M.value){K();return}try{I.value="",S.start()}catch(n){I.value=(n==null?void 0:n.message)||"语音输入启动失败",M.value=!1}}}function K(){if(!(!S||!M.value))try{S.stop()}catch(n){I.value=(n==null?void 0:n.message)||"语音输入已结束"}finally{M.value=!1}}function q(){return L(this,arguments,function*(n=d.value){const s=Tt(n);if(!s||g.value)return;K();const i={id:nt(),role:"user",text:s},r={id:nt(),role:"assistant",steps:[],digesting:!0,digestText:"生成中",visibleText:"",fullText:"",streaming:!1,charts:[],insights:[],suggestions:[]};f.value=[...f.value,i,r],d.value="",g.value=!0,_t(s),yield ct(),yield Et(s,r.id)})}function Et(n,s){return L(this,null,function*(){var i;O(s,{digestText:"生成中"});try{const r=window.location.hash||window.location.pathname,l=yield Zt(n,{pagePath:r}),u=te(l),A=(i=l.insights)!=null&&i.length?l.insights:Ct(l.charts||[]);O(s,{digesting:!0,digestText:"生成中",insights:A,suggestions:[],allowFollowUp:!0}),Mt({question:n,answer:u,charts:l.charts||[],insights:A,suggestions:[]}),J(s,xt());const _=yield ot({question:n,answer:u,charts:l.charts||[],datasets:l.datasets||[],context:l});(_==null?void 0:_.ok)===!1&&J(s,_.message||"专题分析模型调用失败,请稍后重试。")}catch(r){const l=ut(r,"上下文数据整理失败,请稍后重试。");w.value=[],k.value=[],kt(l),J(s,l)}})}function xt(){return["专题分析页面正在生成,完成后会自动显示在右侧。","你可以继续提出其他问题。"].join(`
`)}function U(n){const s=Number(String(n).replace(/,/g,""));return Number.isFinite(s)?s.toLocaleString("zh-CN",{maximumFractionDigits:2}):n||"--"}function Mt({question:n,answer:s,charts:i=[],insights:r=[],suggestions:l=[],aiPanels:u}={}){const A=(u==null?void 0:u.leftPanels)||[],_=(u==null?void 0:u.rightPanels)||[];if(A.length||_.length){w.value=A,k.value=_;return}w.value=[],k.value=[]}function Ct(n=[]){const s=[];return n.slice(0,2).forEach(i=>{var B;const r=(i.rows||[]).map(T=>x($({},T),{value:Number(T.value)})).filter(T=>T.name&&Number.isFinite(T.value));if(!r.length)return;const l=i.unit||((B=r.find(T=>T.unit))==null?void 0:B.unit)||"",u=r.slice().sort((T,tt)=>tt.value-T.value),A=r.reduce((T,tt)=>T+tt.value,0),_=A/r.length,F=u[0],V=u[u.length-1];s.push({label:"最高",value:`${F.name} ${U(F.value)}${l}`,note:i.title}),r.length>2&&s.push({label:i.type==="pie"?"占比项":"最低",value:`${V.name} ${U(V.value)}${l}`,note:i.type==="pie"?"最小结构项":"低值区域"}),s.push({label:"合计",value:`${U(A)}${l}`,note:r.length>1?`覆盖 ${r.length} 项`:i.title}),i.type!=="pie"&&r.length>1&&s.push({label:"均值",value:`${U(_)}${l}`,note:"按当前图表项计算"})}),s.slice(0,4)}function O(n,s,i=!0){f.value=f.value.map(r=>r.id===n?$($({},r),s):r),i&&ct()}function J(n,s){O(n,{digesting:!1}),Dt(n,s)}function ut(n,s){const i=String((n==null?void 0:n.message)||"");return(n==null?void 0:n.code)===401||(n==null?void 0:n.code)==="401"||(n==null?void 0:n.code)==="HTTP_401"||(n==null?void 0:n.status)===401||/未登录|登录(?:状态)?(?:已)?(?:失效|过期)|授权已过期|Unauthorized|HTTP 401/i.test(i)?"当前登录状态已失效,请重新登录后查询。":/DeepSeek.*未授权|外部数据传输.*未授权|生成服务已关闭/i.test(i)?"智慧分析生成服务尚未启用,请联系管理员完成配置。":(n==null?void 0:n.code)==="REQUEST_TIMEOUT"||/timeout|timed out|超时/i.test(i)?"服务响应时间较长,请稍后再试,或换一个更具体的问题。":(n==null?void 0:n.code)==="REQUEST_ABORTED"||/aborted|abort|signal/i.test(i)?"本次分析已中断,请重新提交。":(n==null?void 0:n.code)==="HTTP_404"||(n==null?void 0:n.status)===404||/HTTP 404/i.test(i)?"专题分析页面生成服务暂不可用,请稍后重试。":/Failed to fetch|NetworkError|Load failed|HTTP 50|HTTP 40/i.test(i)?s:/[\u4e00-\u9fff]/.test(i)?i:s}function Dt(n,s){X();const i=at(s),r=i.length>1200?36:i.length>700?24:14;let l=0;O(n,{fullText:i,visibleText:"",streaming:!0,charts:[]});const u=()=>{if(l=Math.min(l+r,i.length),O(n,{visibleText:i.slice(0,l),streaming:l<i.length}),l>=i.length){P=null,g.value=!1;return}P=window.setTimeout(u,18)};P=window.setTimeout(u,0)}function X(){P&&(window.clearTimeout(P),P=null)}function Y(n){const s=Lt(n).split(/\r?\n/),i=[];let r=[],l=!1;const u=()=>{r.length&&(i.push(`<${l?"ol":"ul"}>${r.map(A=>`<li>${Z(A)}</li>`).join("")}</${l?"ol":"ul"}>`),r=[],l=!1)};return s.forEach(A=>{const _=A.trim();if(!_){u();return}const F=_.match(/^#{1,4}\s+(.+)$/)||_.match(/^\*\*(.+)\*\*$/);if(F){u(),i.push(`<h3>${Z(F[1])}</h3>`);return}const V=_.match(/^\d+[.)、]\s+(.+)$/),B=_.match(/^[-*]\s+(.+)$/);if(V||B){const T=!!V;r.length&&l!==T&&u(),l=T,r.push(V?V[1]:B[1]);return}u(),i.push(`<p>${Z(_)}</p>`)}),u(),i.join("")}function Z(n){return n.replace(/\*\*([^*]+)\*\*/g,"<strong>$1</strong>")}function Lt(n){return String(n||"").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;")}function ct(){return L(this,null,function*(){yield Wt(),window.requestAnimationFrame(()=>{p.value&&(p.value.scrollTop=p.value.scrollHeight)})})}return(n,s)=>(c(),m("div",ke,[s[16]||(s[16]=ft('<div class="wisdom-backdrop" aria-hidden="true"><div class="wisdom-grid"></div><div class="wisdom-orbit wisdom-orbit-a"></div><div class="wisdom-orbit wisdom-orbit-b"></div><div class="wisdom-scan"></div></div>',1)),w.value.length&&!D.value?(c(),m("aside",Ae,[(c(!0),m(C,null,N(w.value,i=>{var r,l;return c(),m("section",{key:i.id,class:H(["wisdom-side-panel",`is-${i.type}`])},[i.chart?h("",!0):(c(),m("header",Te,[a("div",null,[a("span",null,y(i.kicker),1),a("strong",null,y(i.title),1)]),i.badge?(c(),m("em",Se,y(i.badge),1)):h("",!0)])),(r=i.items)!=null&&r.length?(c(),m("div",$e,[(c(!0),m(C,null,N(i.items,u=>(c(),m("div",{key:`${i.id}-${u.label}`,class:"wisdom-side-metric"},[a("span",null,y(u.label),1),a("strong",null,y(u.value),1),u.note?(c(),m("em",Ee,y(u.note),1)):h("",!0)]))),128))])):h("",!0),i.text?(c(),m("div",{key:2,class:"wisdom-side-text",innerHTML:Y(i.text)},null,8,xe)):h("",!0),(l=i.actions)!=null&&l.length?(c(),m("div",Me,[(c(!0),m(C,null,N(i.actions,u=>(c(),m("button",{key:u.question,type:"button",disabled:g.value,onClick:A=>q(u.question)},y(u.label),9,Ce))),128))])):h("",!0)],2)}),128))])):h("",!0),k.value.length&&!D.value?(c(),m("aside",De,[(c(!0),m(C,null,N(k.value,i=>{var r,l;return c(),m("section",{key:i.id,class:H(["wisdom-side-panel",`is-${i.type}`])},[i.chart?h("",!0):(c(),m("header",Le,[a("div",null,[a("span",null,y(i.kicker),1),a("strong",null,y(i.title),1)]),i.badge?(c(),m("em",Ne,y(i.badge),1)):h("",!0)])),i.chart?(c(),Ot(Ft(t),{key:1,class:"wisdom-side-chart",chart:i.chart},null,8,["chart"])):h("",!0),(r=i.items)!=null&&r.length?(c(),m("div",Re,[(c(!0),m(C,null,N(i.items,u=>(c(),m("div",{key:`${i.id}-${u.label}`,class:"wisdom-side-metric"},[a("span",null,y(u.label),1),a("strong",null,y(u.value),1),u.note?(c(),m("em",Ve,y(u.note),1)):h("",!0)]))),128))])):h("",!0),i.text?(c(),m("div",{key:3,class:"wisdom-side-text",innerHTML:Y(i.text)},null,8,He)):h("",!0),(l=i.actions)!=null&&l.length?(c(),m("div",Pe,[(c(!0),m(C,null,N(i.actions,u=>(c(),m("button",{key:u.question,type:"button",disabled:g.value,onClick:A=>q(u.question)},y(u.label),9,ze))),128))])):h("",!0)],2)}),128))])):h("",!0),D.value?(c(),m("section",Ie,[a("header",qe,[a("div",Oe,[s[4]||(s[4]=a("span",{class:"wisdom-artifact-mark","aria-hidden":"true"},null,-1)),a("div",null,[s[3]||(s[3]=a("small",null,"专题分析",-1)),a("strong",null,y(v.value.title),1)])]),a("div",Fe,[a("span",{class:H(["wisdom-artifact-status",`is-${v.value.status}`])},[s[5]||(s[5]=a("i",null,null,-1)),gt(y(pt.value),1)],2),v.value.status==="ready"||v.value.status==="error"?(c(),m("button",{key:0,type:"button",disabled:G.value||!z.value,title:"重新生成当前界面",onClick:rt}," 重新生成 ",8,Be)):h("",!0)])]),a("div",je,[G.value?(c(),m("div",Ke,[a("div",Ue,[s[6]||(s[6]=a("span",{class:"wisdom-artifact-building__spinner"},null,-1)),a("div",null,[a("strong",null,y(v.value.status==="collecting"?"正在汇总业务数据":"正在生成专题分析页面"),1)])]),s[7]||(s[7]=ft('<div class="wisdom-artifact-skeleton is-wide"></div><div class="wisdom-artifact-skeleton-grid"><div class="wisdom-artifact-skeleton"></div><div class="wisdom-artifact-skeleton"></div></div><div class="wisdom-artifact-skeleton is-chart"></div>',3))])):v.value.html?(c(),m("iframe",{key:v.value.renderKey,ref_key:"artifactFrameRef",ref:b,class:"wisdom-artifact-frame",srcdoc:v.value.html,sandbox:"allow-scripts allow-forms allow-popups allow-popups-to-escape-sandbox allow-downloads allow-modals",referrerpolicy:"no-referrer",title:"专题分析页面",onLoad:At},null,40,Qe)):(c(),m("div",We,[s[8]||(s[8]=a("strong",null,"专题分析页面暂未生成",-1)),a("p",null,y(v.value.error||"当前数据不足以形成专题分析页面。"),1),a("button",{type:"button",disabled:!z.value,onClick:rt},"重新生成",8,Ge)]))])])):h("",!0),a("main",{class:H(["wisdom-chat",{"has-artifact":D.value}])},[a("div",{ref_key:"dialogueRef",ref:p,class:H(["wisdom-dialogue",{"is-empty":!f.value.length}]),"aria-live":"polite"},[f.value.length?h("",!0):(c(),m("section",Je,[...s[9]||(s[9]=[a("div",{class:"wisdom-empty-mark"},[a("span"),a("strong",null,"AI")],-1),a("h2",null,"智慧辅助分析",-1)])])),(c(!0),m(C,null,N(f.value,i=>{var r;return c(),m("article",{key:i.id,class:H(["wisdom-message",`is-${i.role}`])},[i.role==="assistant"?(c(),m("div",Xe,[...s[10]||(s[10]=[a("span",null,"智",-1)])])):h("",!0),a("div",Ye,[i.role==="user"?(c(),m(C,{key:0},[gt(y(i.text),1)],64)):(c(),m(C,{key:1},[i.digesting?(c(),m("div",Ze,[s[11]||(s[11]=a("span",null,null,-1)),s[12]||(s[12]=a("span",null,null,-1)),s[13]||(s[13]=a("span",null,null,-1)),a("em",null,y(i.digestText||"正在汇总分析"),1)])):h("",!0),i.visibleText?(c(),m("div",{key:1,class:"wisdom-answer",innerHTML:Y(i.visibleText)},null,8,tn)):h("",!0),i.streaming?(c(),m("span",en)):h("",!0),(r=i.suggestions)!=null&&r.length&&(i.allowFollowUp||!i.digesting&&!i.streaming)?(c(),m("div",nn,[(c(!0),m(C,null,N(i.suggestions,l=>(c(),m("button",{key:l.question,type:"button",disabled:g.value,onClick:u=>q(l.question)},y(l.label),9,sn))),128))])):h("",!0)],64))])],2)}),128))],2),a("form",{class:"wisdom-input-bar","aria-label":"智慧辅助分析提问",onSubmit:s[2]||(s[2]=vt(i=>q(),["prevent"]))},[a("div",on,[s[15]||(s[15]=a("span",{class:"wisdom-input-icon"},null,-1)),Bt(a("input",{"onUpdate:modelValue":s[0]||(s[0]=i=>d.value=i),disabled:g.value,"aria-label":"业务分析问题",autocomplete:"off",placeholder:"请输入需要了解的业务事项",onKeydown:s[1]||(s[1]=Kt(vt(i=>q(),["prevent"]),["enter"]))},null,40,rn),[[jt,d.value]]),a("button",{type:"button",class:H(["wisdom-voice-button",{"is-listening":M.value}]),disabled:g.value||!j.value,title:j.value?M.value?"停止语音输入":"语音输入":"当前浏览器不支持语音输入","aria-label":j.value?M.value?"停止语音输入":"语音输入":"当前浏览器不支持语音输入",onClick:$t},[...s[14]||(s[14]=[a("span",null,null,-1)])],10,ln),a("button",{class:"wisdom-submit-button",type:"submit",disabled:g.value||!d.value.trim()},[g.value?(c(),m("span",un)):h("",!0),a("span",null,y(g.value?"分析中":"发送"),1)],8,an)])],32)],2)]))}};export{mn as default};