1import{d as J,K as Q,c as l,a as o,f as d,b as t,F as _,a5 as y,w as f,e as q,n as A,a7 as V,H as g,r as c,q as W,j as k,t as i,x as X,a3 as b,g as Z,i as tt,o as n,_ as st}from"./index-DBAIXX39.js";import{S as H,T as et,a as at,b as nt}from"./catalog-BhAQnJBk.js";const lt={class:"dash-stats"},ot={class:"dash-grid"},it={class:"aq-muted aq-mono"},dt={key:0,class:"dash-pad"},ut={key:1,class:"dash-pad"},rt={key:2,class:"dash-pad dash-dist"},ct={class:"dist-top"},vt={class:"aq-muted"},_t={class:"aq-meter"},ht={class:"dist-states"},pt={key:0,class:"dash-pad"},mt={key:1,class:"dash-pad sync"},yt={class:"sync-row"},ft={class:"aq-mono"},gt={class:"sync-row"},kt={class:"aq-mono"},bt={class:"sync-row"},wt={class:"sync-row"},xt={key:0,class:"dash-pad"},qt={key:2,class:"table-wrap"},Ct={class:"dash-table"},St=["onClick"],Bt={class:"aq-mono"},Tt={class:"hide-sm"},At={class:"ta-r aq-mono"},Et=J({__name:"DashboardView",setup(Vt){const L=Z(),j=W(),h=A(!0),w=A([]),R=A(0),u=A(null);async function G(){h.value=!0;try{const[e,s,v]=await Promise.all([V.units.list({limit:1e3}),V.tags.list(),V.feed.get({limit:200})]);w.value=e.units,R.value=s.tags.length,u.value=v}catch(e){j.fromError(e)}finally{h.value=!1}}Q(G);const x=g(()=>w.value.length),P=g(()=>D(w.value,e=>e.state||"draft")),F=g(()=>D(w.value,e=>e.type||"â")),K=g(()=>P.value.active??0);function D(e,s){const v={};for(const C of e)v[s(C)]=(v[s(C)]??0)+1;return v}const U=g(()=>Object.entries(F.value).map(([e,s])=>({key:e,label:nt[e]??e,n:s,pct:x.value?Math.round(s/x.value*100):0})).sort((e,s)=>s.n-e.n)),Y=g(()=>{const e=u.value;return e?e.units.length+e.tags.length+e.fields.length+e.unitsBinds.length+e.unitsTags.length+e.prices.length+e.unitAssembly.length:0}),I=g(()=>[...w.value].sort((e,s)=>e.rowVersion<s.rowVersion?1:e.rowVersion>s.rowVersion?-1:0).slice(0,6));return(e,s)=>{const v=c("GlassButton"),C=c("PageHeader"),S=c("SkeletonBlock"),B=c("GlassCard"),T=c("StatCard"),M=c("EmptyState"),$=c("GlassChip"),O=c("AqIcon"),E=c("StatusBadge"),p=tt("reveal");return n(),l("div",null,[o(C,{title:"ÐаÑбоÑд",desc:"СоÑÑоÑние каÑалога и ÑинÑ
ÑонизаÑии Ñ 1С на живÑÑ
даннÑÑ
ÑдÑа."},{actions:d(()=>[o(v,{"icon-name":"refresh",loading:h.value,onClick:G},{default:d(()=>[...s[1]||(s[1]=[k("ÐбновиÑÑ",-1)])]),_:1},8,["loading"])]),_:1}),t("div",lt,[h.value?(n(),l(_,{key:0},y(4,a=>o(B,{key:a},{default:d(()=>[o(S,{height:"58px"})]),_:1})),64)):(n(),l(_,{key:1},[f(o(T,{label:"ÐÐ´Ð¸Ð½Ð¸Ñ ÐºÐ°Ñалога",value:x.value,icon:"box",accent:"brand"},null,8,["value"]),[[p]]),f(o(T,{label:"ÐпÑбликовано",value:K.value,icon:"check",accent:"cyan"},null,8,["value"]),[[p,60]]),f(o(T,{label:"Тегов",value:R.value,icon:"tags",accent:"amber"},null,8,["value"]),[[p,120]]),f(o(T,{label:"ÐапиÑей в окне Ñида",value:Y.value,icon:"refresh",accent:"brand"},null,8,["value"]),[[p,180]])],64))]),t("div",ot,[f((n(),q(B,null,{head:d(()=>[s[2]||(s[2]=t("h3",null,"РаÑпÑеделение обоÑÑдованиÑ",-1)),t("span",it,i(x.value)+" ед.",1)]),default:d(()=>[h.value?(n(),l("div",dt,[(n(),l(_,null,y(3,a=>o(S,{key:a,height:"34px",radius:"10px",style:{"margin-bottom":"12px"}})),64))])):x.value?(n(),l("div",rt,[(n(!0),l(_,null,y(U.value,a=>(n(),l("div",{key:a.key,class:"dist-row"},[t("div",ct,[t("span",null,i(a.label),1),t("span",vt,[t("b",null,i(a.n),1),k(" · "+i(a.pct)+"%",1)])]),t("div",_t,[t("span",{style:X({width:a.pct+"%"})},null,4)])]))),128)),t("div",ht,[(n(!0),l(_,null,y(P.value,(a,r)=>(n(),q($,{key:r,variant:r==="active"?"brand":r==="draft"?"amber":"default"},{default:d(()=>[k(i(b(H)[r]??r)+": "+i(a),1)]),_:2},1032,["variant"]))),128))])])):(n(),l("div",ut,[o(M,{icon:"box",title:"ÐаÑалог пÑÑÑ",hint:"ÐмпоÑÑиÑÑйÑе номенклаÑÑÑÑ Ð¸Ð· 1С или ÑоздайÑе единиÑÑ Ð²ÑÑÑнÑÑ Ð² Ñазделе «ÐбоÑÑдование»."})]))]),_:1})),[[p]]),f((n(),q(B,null,{head:d(()=>[s[3]||(s[3]=t("h3",null,"СинÑ
ÑонизаÑÐ¸Ñ 1С",-1)),o(O,{name:"refresh",size:16,class:"aq-muted"})]),default:d(()=>{var a,r,N,z;return[h.value?(n(),l("div",pt,[(n(),l(_,null,y(4,m=>o(S,{key:m,height:"20px",style:{"margin-bottom":"14px"}})),64))])):(n(),l("div",mt,[t("div",yt,[s[4]||(s[4]=t("span",{class:"aq-muted"},"ÐÑÑÑÐ¾Ñ Ñида",-1)),t("b",ft,i(((a=u.value)==null?void 0:a.nextCursor)??0),1)]),t("div",gt,[
1s[5]||(s[5]=t("span",{class:"aq-muted"},"ÐÑÑÑавание (lag)",-1)),t("b",kt,i(((r=u.value)==null?void 0:r.lag)??0),1)]),t("div",bt,[s[6]||(s[6]=t("span",{class:"aq-muted"},"ÐÑÑ ÑÑÑаниÑÑ",-1)),o(E,{variant:(N=u.value)!=null&&N.hasMore?"warn":"ok"},{default:d(()=>{var m;return[k(i((m=u.value)!=null&&m.hasMore?"еÑÑÑ":"неÑ"),1)]}),_:1},8,["variant"])]),t("div",wt,[s[7]||(s[7]=t("span",{class:"aq-muted"},"ÐÐ¾Ð»Ð½Ð°Ñ Ð¿ÐµÑеÑинÑ
ÑонизаÑиÑ",-1)),o(E,{variant:(z=u.value)!=null&&z.fullResync?"danger":"ok"},{default:d(()=>{var m;return[k(i((m=u.value)!=null&&m.fullResync?u.value.resyncReason||"ÑÑебÑеÑÑÑ":"не нÑжна"),1)]}),_:1},8,["variant"])]),s[8]||(s[8]=t("p",{class:"sync-note aq-muted"}," ÐаÑалог - маÑÑÐµÑ Ð½Ð¾Ð¼ÐµÐ½ÐºÐ»Ð°ÑÑÑÑ; 1С оÑдаÑÑ Ð¾ÑÑаÑки и ÑенÑ. Ðкно Ñида инкÑеменÑалÑно по ÐµÐ´Ð¸Ð½Ð¾Ð¼Ñ ÐºÑÑÑоÑÑ row_version. ",-1))]))]}),_:1})),[[p,80]])]),f((n(),q(B,{class:"dash-recent"},{head:d(()=>[s[10]||(s[10]=t("h3",null,"Ðедавно изменÑннÑе",-1)),o(v,{variant:"ghost",size:"sm",onClick:s[0]||(s[0]=a=>b(L).push("/catalog"))},{default:d(()=>[...s[9]||(s[9]=[k("ÐеÑÑ ÐºÐ°Ñалог",-1)])]),_:1})]),default:d(()=>[h.value?(n(),l("div",xt,[(n(),l(_,null,y(4,a=>o(S,{key:a,height:"22px",style:{"margin-bottom":"14px"}})),64))])):I.value.length?(n(),l("div",qt,[t("table",Ct,[s[11]||(s[11]=t("thead",null,[t("tr",null,[t("th",null,"SKU"),t("th",null,"Ðазвание"),t("th",{class:"hide-sm"},"Тип"),t("th",null,"СÑаÑÑÑ"),t("th",{class:"ta-r"},"ÐеÑÑиÑ")])],-1)),t("tbody",null,[(n(!0),l(_,null,y(I.value,a=>(n(),l("tr",{key:a.sku,onClick:r=>b(L).push({path:"/catalog",query:{sku:a.sku}})},[t("td",Bt,i(a.sku),1),t("td",null,i(a.title||"â"),1),t("td",Tt,i((b(et)[a.type]??a.type)||"â"),1),t("td",null,[o(E,{variant:b(at)[a.state]??"muted"},{default:d(()=>[k(i(b(H)[a.state]??a.state),1)]),_:2},1032,["variant"])]),t("td",At,i(a.rowVersion),1)],8,St))),128))])])])):(n(),q(M,{key:1,icon:"box",title:"Ðока ниÑего неÑ",hint:"ÐÐ·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ ÐµÐ´Ð¸Ð½Ð¸Ñ Ð¿Ð¾ÑвÑÑÑÑ Ð·Ð´ÐµÑÑ."}))]),_:1})),[[p]])])}}}),Gt=st(Et,[["__scopeId","data-v-98d204fe"]]);export{Gt 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.