4 lines
16 KiB
JavaScript
4 lines
16 KiB
JavaScript
var bt=Object.defineProperty,St=Object.defineProperties;var Ot=Object.getOwnPropertyDescriptors;var nt=Object.getOwnPropertySymbols;var xt=Object.prototype.hasOwnProperty,At=Object.prototype.propertyIsEnumerable;var $=(t,e,n)=>e in t?bt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,z=(t,e)=>{for(var n in e||(e={}))xt.call(e,n)&&$(t,n,e[n]);if(nt)for(var n of nt(e))At.call(e,n)&&$(t,n,e[n]);return t},st=(t,e)=>St(t,Ot(e));var at=(t,e,n)=>$(t,typeof e!="symbol"?e+"":e,n);var G=(t,e,n)=>new Promise((o,l)=>{var a=f=>{try{y(n.next(f))}catch(c){l(c)}},S=f=>{try{y(n.throw(f))}catch(c){l(c)}},y=f=>f.done?o(f.value):Promise.resolve(f.value).then(a,S);y((n=n.apply(t,e)).next())});import{_ as Et}from"./_plugin-vue_export-helper-DRcqrMy4.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{ac as wt,S as Ct,j as zt,aj as jt,a1 as Mt,D as Tt,g as Lt,c as Dt,ak as It,al as Pt,am as Nt,R as Ut,f as kt,E as ot}from"./element-plus-CSxUwlOP.js";import{d as Rt,e as Bt}from"./index-cmyWCBIy.js";import{i as Ft,t as Vt,u as Ht,a as Wt,b as Yt,c as $t,d as Gt,e as Kt,f as Zt,g as Qt,h as Xt,j as qt}from"./echarts-CQFBST8R.js";import{v as ct,i as V,a9 as Jt,h as H,w as dt,j as J,Z as te,ah as Q,s as X,c as U,n as ee,$ as ne,W as se,av as K,T as ae,aC as W,y as oe,B as ie,C as i,D as u,E as p,u as j,Q as it,R as F,r as D,l as le}from"./vue-vendor-81Zqb-7t.js";import"./index-Dua4jQwX.js";const re=["getWidth","getHeight","getDom","getOption","resize","dispatchAction","convertToPixel","convertFromPixel","containPixel","getDataURL","getConnectedDataURL","appendData","clear","isDisposed","dispose"];function ue(t){function e(n){return function(...l){if(!t.value)throw new Error("ECharts is not initialized yet.");return Reflect.apply(t.value[n],t.value,l)}}return re.reduce((n,o)=>(n[o]=e(o),n),{})}function ce(t,e,n){H([n,t,e],([o,l,a],S,y)=>{let f=null;if(o&&l&&a){const{offsetWidth:c,offsetHeight:m}=o,{throttle:d=100,onResize:h}=a===!0?{}:a;let v=!1;const s=()=>{l.resize(),h==null||h()},O=d?Vt(s,d):s;f=new ResizeObserver(()=>{!v&&(v=!0,o.offsetWidth===c&&o.offsetHeight===m)||o.offsetWidth===0||o.offsetHeight===0||O()}),f.observe(o)}y(()=>{f&&(f.disconnect(),f=null)})})}const de={autoresize:[Boolean,Object]},fe=Symbol();function pe(t,e,n){const o=V(fe,{}),l=U(()=>z(z({},W(o)),n==null?void 0:n.value));dt(()=>{const a=t.value;a&&(e.value?a.showLoading(l.value):a.hideLoading())})}const me={loading:Boolean,loadingOptions:Object};function ft(){return typeof window!="undefined"&&typeof document!="undefined"}const ge=/^on[^a-z]/,pt=t=>ge.test(t);function he(t){const e={};for(const n in t)pt(n)||(e[n]=t[n]);return e}function ve(t){const e=Number(t);return Number.isInteger(e)&&e>=0&&e<Math.pow(2,32)-1&&String(e)===t}function _e(t,e){const n=new Set(t),o=new Set(e);if(n.size!==o.size)return!1;for(const l of n)if(!o.has(l))return!1;return!0}function mt(t){return t!=null&&typeof t=="object"&&!Array.isArray(t)}const gt={tooltip:["tooltip","formatter"],dataView:["toolbox","feature","dataView","optionToContent"]},ye=Object.keys(gt);function Z(t){return ye.some(e=>t===e||t.startsWith(e+"-"))}function be(t,e){const n=ft()?document.createElement("div"):void 0,o=K({}),l=K({}),a=K({}),S=X(!1),y=()=>S.value&&n?Q(ae,{to:n},Object.entries(t).filter(([d])=>Z(d)).map(([d,h])=>{const v=d;return Q("div",{ref:s=>{s instanceof HTMLElement&&(o[v]=s)},style:{display:"contents"}},l[v]?h==null?void 0:h(a[v]):void 0)})):void 0;function f(d){return d!==null&&typeof d=="object"&&!Array.isArray(d)}function c(d){const h=z({},d),v=(s,O)=>{const E=s[O];if(Array.isArray(E))return s[O]=[...E],s[O];if(f(E))return s[O]=z({},E),s[O];if(E===void 0)return s[O]=ve(O)?[]:{},s[O]};return Object.keys(t).filter(s=>Z(s)).forEach(s=>{const[O,...E]=s.split("-"),T=gt[O];if(!T)return;const b=[...E,...T];if(b.length===0)return;let w=h;for(let x=0;x<b.length-1;x++)if(w=v(w,b[x]),!w)return;w[b[b.length-1]]=x=>(l[s]=!0,a[s]=x,o[s])}),h}let m=[];return ne(()=>{const d=Object.keys(t).filter(Z);_e(d,m)||(m.forEach(h=>{d.includes(h)||(delete a[h],delete l[h],delete o[h])}),m=d,e())}),J(()=>{S.value=!0}),se(()=>{n==null||n.remove()}),{teleportedSlots:y,patchOption:c}}let L=null;const q="x-vue-echarts";function Se(){if(L!=null)return L;const t=globalThis.customElements;if(!ft()||!(t!=null&&t.get))return L=!1,L;if(!t.get(q))try{class e extends HTMLElement{constructor(){super(...arguments);at(this,"__dispose",null)}disconnectedCallback(){this.__dispose&&(this.__dispose(),this.__dispose=null)}}t.define(q,e)}catch(e){return L=!1,L}return L=!0,L}function Oe(t){if(!mt(t))return;const e=t.id;if(typeof e=="string")return e;if(typeof e=="number"&&Number.isFinite(e))return String(e)}function lt(t){const e=t,n=Array.isArray(e.options)?e.options.length:0,o=Array.isArray(e.media)?e.media.length:0,l=Object.create(null),a=[],S=[];for(const y of Object.keys(e)){if(y==="options"||y==="media")continue;const f=e[y];if(Array.isArray(f)){const c=f,m=new Set;let d=0;for(let h=0;h<c.length;h++){const v=Oe(c[h]);v!==void 0?m.add(v):d++}l[y]={idsSorted:m.size>0?Array.from(m).sort():[],noIdCount:d}}else mt(f)?a.push(y):f!==void 0&&S.push(y)}return a.length>1&&a.sort(),S.length>1&&S.sort(),{optionsLength:n,mediaLength:o,arrays:l,objects:a,scalars:S}}function rt(t,e){if(t.length===0)return[];if(e.length===0)return t.slice();const n=new Set(e),o=[];for(let l=0;l<t.length;l++){const a=t[l];n.has(a)||o.push(a)}return o}function xe(t,e){if(t.length===0)return!1;if(e.length===0)return!0;const n=new Set(e);for(let o=0;o<t.length;o++)if(!n.has(t[o]))return!0;return!1}function Ae(t,e){const n=lt(e);if(!t)return{option:e,signature:n,plan:{notMerge:!1}};if(n.optionsLength<t.optionsLength)return{option:e,signature:n,plan:{notMerge:!0}};if(n.mediaLength<t.mediaLength)return{option:e,signature:n,plan:{notMerge:!0}};if(rt(t.scalars,n.scalars).length>0)return{option:e,signature:n,plan:{notMerge:!0}};const o=new Set,l=new Map,a=rt(t.objects,n.objects);for(let c=0;c<a.length;c++)l.set(a[c],null);for(const c of Object.keys(t.arrays)){const m=t.arrays[c];if(!m)continue;const d=n.arrays[c];if(!d){(m.idsSorted.length>0||m.noIdCount>0)&&(l.set(c,[]),o.add(c));continue}if(xe(m.idsSorted,d.idsSorted)){o.add(c);continue}d.noIdCount<m.noIdCount&&o.add(c)}let S=e,y=n;if(l.size>0){const c=z({},e);l.forEach((m,d)=>{c[d]=m}),S=c,y=lt(S)}const f=o.size>0?Array.from(o).sort():void 0;return{option:S,signature:y,plan:f?{notMerge:!1,replaceMerge:f}:{notMerge:!1}}}var ut=`x-vue-echarts{display:block;width:100%;height:100%;min-width:0;}
|
|
x-vue-echarts>:first-child,x-vue-echarts>:first-child>canvas{border-radius:inherit;}
|
|
`;if(typeof document!="undefined")if(Array.isArray(document.adoptedStyleSheets)&&"replaceSync"in CSSStyleSheet.prototype){const t=new CSSStyleSheet;t.replaceSync(ut),document.adoptedStyleSheets=[...document.adoptedStyleSheets,t]}else{const t=document.createElement("style");t.textContent=ut,document.head.appendChild(t)}const Ee=Se(),we=Symbol(),Ce=Symbol(),ze=Symbol();var je=ct({name:"Echarts",inheritAttrs:!1,props:z(z({option:Object,theme:{type:[Object,String]},initOptions:Object,updateOptions:Object,group:String,manualUpdate:Boolean},de),me),emits:{},slots:Object,setup(t,{attrs:e,expose:n,slots:o}){const l=X(),a=X(),S=V(we,null),y=V(Ce,null),f=V(ze,null),{autoresize:c,manualUpdate:m,loading:d,loadingOptions:h}=Jt(t),v=U(()=>t.theme||W(S)),s=U(()=>t.initOptions||W(y)||void 0),O=U(()=>t.updateOptions||W(f)),E=U(()=>he(e)),T={},b=new Map,{teleportedSlots:w,patchOption:x}=be(o,()=>{!m.value&&t.option&&a.value&&I(a.value,t.option)});let C;function k(r){var _;const g={},A=((_=r==null?void 0:r.replaceMerge)!=null?_:[]).filter(M=>M!=null);return A.length>0&&(g.replaceMerge=[...new Set(A)]),(r==null?void 0:r.notMerge)!==void 0&&(g.notMerge=r.notMerge),g}function I(r,g,A,_=!1){const M=x(g);if(_){r.setOption(M,A!=null?A:{}),C=void 0;return}if(O.value){const B=A!=null?A:O.value;r.setOption(M,B),C=void 0;return}const P=Ae(C,M),R=k(P.plan);r.setOption(P.option,R),C=P.signature}Object.keys(e).filter(r=>pt(r)).forEach(r=>{if(r.indexOf("Native:")===2){const M=`on${r.charAt(9).toUpperCase()}${r.slice(10)}`;T[M]=e[r];return}let g=r.charAt(2).toLowerCase()+r.slice(3),A;g.indexOf("zr:")===0&&(A=!0,g=g.substring(3));let _;g.substring(g.length-4)==="Once"&&(_=!0,g=g.substring(0,g.length-4)),b.set({event:g,zr:A,once:_},e[r])});function tt(){if(!l.value)return;const r=a.value=Ft(l.value,v.value,s.value);t.group&&(r.group=t.group),b.forEach((_,{zr:M,once:P,event:R})=>{if(!_)return;const B=M?r.getZr():r;if(P){const _t=_;let et=!1;_=(...yt)=>{et||(et=!0,_t(...yt),B.off(R,_))}}B.on(R,_)});function g(){r&&!r.isDisposed()&&r.resize()}function A(){const{option:_}=t;if(m.value){_&&I(r,_,void 0,!0);return}_&&I(r,_)}c.value?ee(()=>{g(),A()}):A()}const ht=(r,g,A)=>{if(!t.manualUpdate)return;const _=typeof g=="boolean"?{notMerge:g,lazyUpdate:A}:g;a.value&&I(a.value,r,_!=null?_:void 0,!0)};function Y(){a.value&&(a.value.dispose(),a.value=void 0),C=void 0}H(()=>t.option,r=>{if(!r){C=void 0;return}m.value||a.value&&I(a.value,r)},{deep:!0}),H([m,s],()=>{Y(),tt()},{deep:!0}),H(v,r=>{var g;(g=a.value)==null||g.setTheme(r||{})},{deep:!0}),dt(()=>{t.group&&a.value&&(a.value.group=t.group)});const vt=ue(a);return pe(a,d,h),ce(a,c,l),J(()=>{tt()}),te(()=>{Ee&&l.value?l.value.__dispose=Y:Y()}),n(z({setOption:ht,root:l,chart:a},vt)),()=>Q(q,st(z(z({},E.value),T),{ref:l,class:["echarts",E.value.class]}),w())}}),N=je;const Me={class:"statistics-dashboard"},Te={class:"filter-section"},Le={class:"stat-content"},De={class:"stat-icon total"},Ie={class:"stat-info"},Pe={class:"stat-value"},Ne={class:"stat-content"},Ue={class:"stat-icon success"},ke={class:"stat-info"},Re={class:"stat-value"},Be={class:"stat-content"},Fe={class:"stat-icon warning"},Ve={class:"stat-info"},He={class:"stat-value"},We={class:"stat-content"},Ye={class:"stat-icon danger"},$e={class:"stat-info"},Ge={class:"stat-value"},Ke=ct({__name:"StatisticsDashboard",setup(t){Ht([Wt,Yt,$t,Gt,Kt,Zt,Qt,Xt,qt]);const e=D([]),n=le({totalAssets:0,assetsInUse:0,assetsInStock:0,assetsMaintenance:0,assetsScrapped:0,totalValue:0}),o=D({tooltip:{trigger:"item",formatter:"{a} <br/>{b}: {c} ({d}%)"},legend:{orient:"vertical",left:"left"},series:[{name:"资产状态",type:"pie",radius:["40%","70%"],avoidLabelOverlap:!1,itemStyle:{borderRadius:10,borderColor:"#fff",borderWidth:2},label:{show:!1,position:"center"},emphasis:{label:{show:!0,fontSize:16,fontWeight:"bold"}},labelLine:{show:!1},data:[{value:735,name:"在用",itemStyle:{color:"#409EFF"}},{value:580,name:"在库",itemStyle:{color:"#67C23A"}},{value:484,name:"维修中",itemStyle:{color:"#E6A23C"}},{value:300,name:"待报废",itemStyle:{color:"#F56C6C"}}]}]}),l=D({tooltip:{trigger:"axis",axisPointer:{type:"shadow"}},grid:{left:"3%",right:"4%",bottom:"3%",containLabel:!0},xAxis:{type:"category",data:["计算机","打印机","复印机","扫描仪","投影仪","服务器"]},yAxis:{type:"value"},series:[{name:"数量",type:"bar",barWidth:"60%",data:[326,208,156,98,76,45],itemStyle:{color:"#409EFF"}}]}),a=D({tooltip:{trigger:"axis"},legend:{data:["资产数量","资产价值"]},grid:{left:"3%",right:"4%",bottom:"3%",containLabel:!0},xAxis:{type:"category",boundaryGap:!1,data:["1月","2月","3月","4月","5月","6月"]},yAxis:[{type:"value",name:"数量",position:"left"},{type:"value",name:"价值(万元)",position:"right"}],series:[{name:"资产数量",type:"line",data:[120,132,101,134,90,230],smooth:!0,itemStyle:{color:"#409EFF"}},{name:"资产价值",type:"line",yAxisIndex:1,data:[220,182,191,234,290,330],smooth:!0,itemStyle:{color:"#67C23A"}}]}),S=D({tooltip:{trigger:"item",triggerOn:"mousemove"},series:[{type:"tree",data:[{name:"广东省",children:[{name:"广州市",value:300,children:[{name:"天河网点",value:150},{name:"越秀网点",value:100},{name:"海珠网点",value:50}]},{name:"深圳市",value:250,children:[{name:"福田网点",value:120},{name:"南山网点",value:80},{name:"罗湖网点",value:50}]}]}],top:"10%",left:"10%",bottom:"10%",right:"20%",symbolSize:7,label:{position:"left",verticalAlign:"middle",align:"right",fontSize:12},leaves:{label:{position:"right",verticalAlign:"middle",align:"left"}},emphasis:{focus:"descendant"},expandAndCollapse:!0,animationDuration:550,animationDurationUpdate:750}]}),y=D({tooltip:{trigger:"axis",axisPointer:{type:"shadow"}},legend:{data:["硬件故障","软件故障","其他"]},grid:{left:"3%",right:"4%",bottom:"3%",containLabel:!0},xAxis:{type:"category",data:["1月","2月","3月","4月","5月","6月"]},yAxis:{type:"value"},series:[{name:"硬件故障",type:"bar",stack:"total",data:[320,302,301,334,390,330],itemStyle:{color:"#F56C6C"}},{name:"软件故障",type:"bar",stack:"total",data:[120,132,101,134,90,230],itemStyle:{color:"#409EFF"}},{name:"其他",type:"bar",stack:"total",data:[220,182,191,234,290,330],itemStyle:{color:"#E6A23C"}}]}),f=()=>G(this,null,function*(){try{const v=yield Rt();Object.assign(n,v)}catch(v){console.error("获取统计数据失败",v)}}),c=()=>G(this,null,function*(){try{const v=yield Bt({period:"month"})}catch(v){console.error("获取趋势数据失败",v)}}),m=()=>{d()},d=()=>{f(),c(),ot.success("数据已刷新")},h=()=>{ot.info("导出功能开发中")};return J(()=>{f(),c()}),(v,s)=>{const O=wt,E=Ct,T=zt,b=Tt,w=Dt,x=Lt,C=kt;return oe(),ie("div",Me,[i(O,{onBack:s[0]||(s[0]=k=>v.$router.back()),title:"返回",content:"统计报表"}),i(b,{style:{"margin-top":"20px"}},{default:u(()=>[p("div",Te,[i(E,{modelValue:e.value,"onUpdate:modelValue":s[1]||(s[1]=k=>e.value=k),type:"daterange","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期","value-format":"YYYY-MM-DD",onChange:m},null,8,["modelValue"]),i(T,{type:"primary",icon:j(jt),onClick:d},{default:u(()=>[...s[2]||(s[2]=[it(" 刷新数据 ",-1)])]),_:1},8,["icon"]),i(T,{icon:j(Mt),onClick:h},{default:u(()=>[...s[3]||(s[3]=[it(" 导出报表 ",-1)])]),_:1},8,["icon"])])]),_:1}),i(C,{gutter:20,style:{"margin-top":"20px"}},{default:u(()=>[i(x,{span:6},{default:u(()=>[i(b,{class:"stat-card"},{default:u(()=>[p("div",Le,[p("div",De,[i(w,{size:32},{default:u(()=>[i(j(It))]),_:1})]),p("div",Ie,[p("div",Pe,F(n.totalAssets||0),1),s[4]||(s[4]=p("div",{class:"stat-label"},"资产总数",-1))])])]),_:1})]),_:1}),i(x,{span:6},{default:u(()=>[i(b,{class:"stat-card"},{default:u(()=>[p("div",Ne,[p("div",Ue,[i(w,{size:32},{default:u(()=>[i(j(Pt))]),_:1})]),p("div",ke,[p("div",Re,F(n.assetsInUse||0),1),s[5]||(s[5]=p("div",{class:"stat-label"},"在用资产",-1))])])]),_:1})]),_:1}),i(x,{span:6},{default:u(()=>[i(b,{class:"stat-card"},{default:u(()=>[p("div",Be,[p("div",Fe,[i(w,{size:32},{default:u(()=>[i(j(Nt))]),_:1})]),p("div",Ve,[p("div",He,F(n.assetsMaintenance||0),1),s[6]||(s[6]=p("div",{class:"stat-label"},"维修中",-1))])])]),_:1})]),_:1}),i(x,{span:6},{default:u(()=>[i(b,{class:"stat-card"},{default:u(()=>[p("div",We,[p("div",Ye,[i(w,{size:32},{default:u(()=>[i(j(Ut))]),_:1})]),p("div",$e,[p("div",Ge,F(n.assetsScrapped||0),1),s[7]||(s[7]=p("div",{class:"stat-label"},"待报废",-1))])])]),_:1})]),_:1})]),_:1}),i(C,{gutter:20,style:{"margin-top":"20px"}},{default:u(()=>[i(x,{span:12},{default:u(()=>[i(b,null,{header:u(()=>[...s[8]||(s[8]=[p("span",null,"资产状态分布",-1)])]),default:u(()=>[i(j(N),{option:o.value,style:{height:"350px"},autoresize:""},null,8,["option"])]),_:1})]),_:1}),i(x,{span:12},{default:u(()=>[i(b,null,{header:u(()=>[...s[9]||(s[9]=[p("span",null,"资产类型分布",-1)])]),default:u(()=>[i(j(N),{option:l.value,style:{height:"350px"},autoresize:""},null,8,["option"])]),_:1})]),_:1})]),_:1}),i(C,{gutter:20,style:{"margin-top":"20px"}},{default:u(()=>[i(x,{span:24},{default:u(()=>[i(b,null,{header:u(()=>[...s[10]||(s[10]=[p("span",null,"资产价值趋势",-1)])]),default:u(()=>[i(j(N),{option:a.value,style:{height:"400px"},autoresize:""},null,8,["option"])]),_:1})]),_:1})]),_:1}),i(C,{gutter:20,style:{"margin-top":"20px"}},{default:u(()=>[i(x,{span:12},{default:u(()=>[i(b,null,{header:u(()=>[...s[11]||(s[11]=[p("span",null,"机构资产分布",-1)])]),default:u(()=>[i(j(N),{option:S.value,style:{height:"400px"},autoresize:""},null,8,["option"])]),_:1})]),_:1}),i(x,{span:12},{default:u(()=>[i(b,null,{header:u(()=>[...s[12]||(s[12]=[p("span",null,"维修统计",-1)])]),default:u(()=>[i(j(N),{option:y.value,style:{height:"400px"},autoresize:""},null,8,["option"])]),_:1})]),_:1})]),_:1})])}}}),dn=Et(Ke,[["__scopeId","data-v-0ac6267d"]]);export{dn as default};
|