Files
qhmes/deploy-qhmes/frontend/js/ChartRender-CBSgK0U5.js
2026-05-15 11:34:12 +08:00

2 lines
5.0 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
var K=Object.defineProperty,Q=Object.defineProperties;var U=Object.getOwnPropertyDescriptors;var k=Object.getOwnPropertySymbols;var W=Object.prototype.hasOwnProperty,X=Object.prototype.propertyIsEnumerable;var A=(l,n,r)=>n in l?K(l,n,{enumerable:!0,configurable:!0,writable:!0,value:r}):l[n]=r,_=(l,n)=>{for(var r in n||(n={}))W.call(n,r)&&A(l,r,n[r]);if(k)for(var r of k(n))X.call(n,r)&&A(l,r,n[r]);return l},S=(l,n)=>Q(l,U(n));import{d as Y,h as Z,f as w,e as a,ar as h,as as t,av as $,au as ee,aC as p,ag as ae,aJ as v,aG as c}from"./vue-vendor-C7Zq48Yl.js";import{L as P}from"./LineMulti-CtYwss5s.js";import{B as T,G as re}from"./Gauge-B_IiN0XO.js";import{P as te}from"./Pie-Css2jUUJ.js";import{B as ne,R as ue}from"./BarAndLine-TnM25Vnx.js";import{S as le}from"./SingleLine-Bu7dNANj.js";import{d as ie}from"./index-BI6CMai0.js";import"./useECharts-9qzd7Dce.js";import"./useTimeout-DDl4l82I.js";import"./antd-vue-vendor-BPnV8VqP.js";import"./vxe-table-vendor-B88kchpX.js";import"./echarts-6xk1er_c.js";const oe={class:"ai-chat-chart"},se={key:0,class:"ai-chat-chart__error"},pe={key:1,class:"ai-chat-chart__error"},ve={key:0,style:{color:"#999",padding:"12px 8px",border:"1px dashed #eee",margin:"8px 0","border-radius":"4px"}},ce={key:1},de={key:2,class:"ai-chat-chart__body"},ye=Y({__name:"ChartRender",props:{data:{type:String,required:!0},loading:{type:Boolean,default:!1}},setup(l){const n=l,r=w(""),y=w(!1),o=a(()=>{try{return r.value="",y.value=!1,JSON.parse(n.data||"{}")}catch(e){return r.value="图表数据解析错误无法渲染图表",y.value=!0,{}}}),B=["bar","line","pie","radar","gauge","barline","multibar","multiline","area"],i=a(()=>{const s=(String(o.value.type||"").toLowerCase()||"").replace(/[-_\s]/g,""),d={bar:"bar",line:"line",pie:"pie",radar:"radar",gauge:"gauge",barline:"barline",barandline:"barline",linebar:"barline",multiline:"multiline",multibar:"multibar",area:"area",arealine:"area"}[s]||"";return d&&B.includes(d)?d:""});Z(()=>{y.value||(i.value===""?o.value.type&&(r.value="当前仅支持 barlinepieradargaugebarlinemultibarmultilinearea 类型图表",y.value=!0):(r.value="",y.value=!1))});const u=a(()=>o.value.data),C=a(()=>i.value==="gauge"?!!u.value:Array.isArray(u.value)&&u.value.length>0),b=a(()=>Array.isArray(u.value)?u.value.map(e=>x(e)):[]),N=a(()=>Array.isArray(u.value)?u.value.map(e=>S(_({},x(e)),{seriesType:e&&e.seriesType?String(e.seriesType):"line",areaStyle:{}})):[]),L=a(()=>Array.isArray(u.value)?u.value.map(e=>({name:g(e),value:f(e)})):[]);function x(e){const s=D(e),m=g(e),d=f(e);return{type:s,name:m,value:d}}function D(e){return e&&e.series!==void 0?String(e.series):e&&e.type!==void 0?String(e.type):"数据"}function g(e){return e&&e.x!==void 0?String(e.x):e&&e.name!==void 0?String(e.name):""}function f(e){var d;const s=e?(d=e.y)!=null?d:e.value:null,m=Number(s);return Number.isFinite(m)?m:0}function M(e){return e&&e.seriesType!==void 0?String(e.seriesType):"bar"}const V=a(()=>{const e=u.value;if(Array.isArray(e)&&e.length>0){const s=e[0];return{name:g(s)||"仪表盘",value:f(s)}}return e&&typeof e=="object"?{name:g(e)||"仪表盘",value:f(e)}:{name:"仪表盘",value:0}}),R=a(()=>Array.isArray(u.value)?u.value.map(e=>({type:D(e),name:g(e),value:f(e),max:e&&e.max!==void 0?Number(e.max):void 0})):[]),E=a(()=>Array.isArray(u.value)?u.value.map(e=>S(_({},x(e)),{seriesType:M(e)})):[]),G=a(()=>({type:"line",height:"360px",width:"100%",chartData:b.value})),z=a(()=>({height:"360px",width:"100%",chartData:b.value})),I=a(()=>({height:"360px",width:"100%",chartData:L.value})),J=a(()=>({height:"360px",width:"100%",chartData:b.value,option:o.value.option||{}})),j=a(()=>({type:"line",height:"360px",width:"100%",chartData:b.value,option:o.value.option||{}})),q=a(()=>({type:"line",height:"360px",width:"100%",chartData:N.value,option:S(_({},o.value.option||{}),{areaStyle:{}})})),F=a(()=>({height:"420px",width:"100%",chartData:R.value,option:o.value.option||{}})),O=a(()=>({height:"360px",width:"100%",chartData:V.value,option:o.value.option||{},seriesColor:o.value.seriesColor||void 0})),H=a(()=>({height:"360px",width:"100%",chartData:E.value,customColor:o.value.colors||[],option:o.value.option||{}}));return(e,s)=>(t(),h("div",oe,[y.value?(t(),h("div",se,$(r.value),1)):!i.value||!C.value?(t(),h("div",pe,[l.loading?(t(),h("div",ve,[...s[0]||(s[0]=[ee("span",null,"图表渲染中...",-1)])])):(t(),h("span",ce,"模型返回的图表渲染格式不正确请优化提示词或重新尝试"))])):(t(),h("div",de,[i.value==="line"?(t(),p(P,v(c({key:0},G.value)),null,16)):i.value==="bar"?(t(),p(T,v(c({key:1},z.value)),null,16)):i.value==="pie"?(t(),p(te,v(c({key:2},I.value)),null,16)):i.value==="multibar"?(t(),p(T,v(c({key:3},J.value)),null,16)):i.value==="multiline"?(t(),p(P,v(c({key:4},j.value)),null,16)):i.value==="barline"?(t(),p(ne,v(c({key:5},H.value)),null,16)):i.value==="area"?(t(),p(le,v(c({key:6},q.value)),null,16)):i.value==="radar"?(t(),p(ue,v(c({key:7},F.value)),null,16)):i.value==="gauge"?(t(),p(re,v(c({key:8},O.value)),null,16)):ae("",!0)]))]))}}),Te=ie(ye,[["__scopeId","data-v-89b4b493"]]);export{Te as default};