PageSourceSearch

https://kapster.kz/_nuxt/index.2d5bdb61.js

js kapster.kz collected 2026-10-08 12:13:29 UTC 6,977 bytes, 1 lines download raw bytes

1import{_ as J}from"./nuxt-link.002d1a86.js";import{_ as W}from"./tabs.vue.68aadc07.js";import{u as Y}from"./useMyI18n.34abe854.js";import{h as V,f as o,o as p,c as v,b as n,t as _,i as s,n as M,k as $,F as Z,ag as G,ai as X,z as E,ay as tt,a9 as N,B as et,ar as at,b1 as ot,J as st,K as nt,W as it,T as ct,U as rt,r as D,b2 as lt,a as j,w as P,j as q,D as I,Z as dt,g as mt}from"./entry.5b3977f8.js";import{C as a,c as pt}from"./status-badge.309032ea.js";import{f as S}from"./formatDate.8a6d8aec.js";import{f as ut}from"./index.f75c60d0.js";import{_ as _t}from"./catalog-items-grid.vue.7fd13803.js";import{_ as ft}from"./pagination.vue.75d92fea.js";import{Q as yt}from"./search.395986ec.js";import{V as Ct}from"./ui.a9dff720.js";import"./swiper.46c01faf.js";import"./product-enums.b609530e.js";import"./index.449ad6bf.js";import"./index.402f23e3.js";import"./index.db0f6fb5.js";import"./svg-icon.vue.7f829b0a.js";import"./cloneDeep.45c67b68.js";import"./scrollToElement.faa8a983.js";import"./scrollIntoView.07d79d1a.js";import"./isEmpty.cefde785.js";const vt={class:"card-body ComplaintCard__body"},gt=["textContent"],ht={key:0,class:"ComplaintCard__status"},bt=["textContent"],kt=["textContent"],wt=["textContent"],xt={class:"ComplaintCard__date"},$t=["datetime","textContent"],Tt=n("br",null,null,-1),At=["textContent"],Pt=["datetime","textContent"],qt=V({__name:"card-complaint",props:{complaint:{},showStatus:{type:Boolean,default:!0}},emits:["click"],setup(g){const e=g,c=Y(),h=o(()=>({[`ComplaintCard--${e.complaint.status}`]:!!e.complaint.status})),d=o(()=>e.complaint.status===a.pending),u=o(()=>e.complaint.status===a.closed),b=o(()=>e.complaint.status===a.rejected),i=o(()=>{let t;switch(e.complaint.object_type){case"comment":t=c.t("Комментарий");break;case"product":t=c.t("Проект");break;case"post":t=c.t("Пост");break;case"ad":t=c.t("Объявление");break;default:t=c.t("Неизвестный тип");break}return c.t("Тип: {type}",{type:t})}),l=o(()=>c.t("От: {name}",{name:e.complaint.author.name})),k=o(()=>c.t("Дата: {date}",{date:S(e.complaint.created_at,"dd.MM.yyyy, HH:mm")})),T=o(()=>{if(!e.complaint.handled_at)return null;let t;return u.value?t="Закрыто":b.value&&(t="Отклонено"),c.t(`${t}: {date}`,{date:S(e.complaint.handled_at,"dd.MM.yyyy, HH:mm")})}),x=o(()=>{const t=G(e.complaint.created_at),y=ut(t,{locale:X,addSuffix:!1});return c.t("Ожидает: {distance}",{distance:y})}),m=o(()=>pt(e.complaint));return(t,y)=>(p(),v("div",{class:M(["card ComplaintCard",s(h)]),onClick:y[0]||(y[0]=w=>t.$emit("click"))},[n("div",vt,[n("h5",{class:"card-title ComplaintCard__title mb-0",textContent:_("#"+t.complaint.id)},null,8,gt),t.showStatus&&s(m)?(p(),v("div",ht,[n("div",{class:M(["badge badge-status",s(m).class]),textContent:_(s(m).text)},null,10,bt)])):$("",!0),n("div",{class:"ComplaintCard__type",textContent:_(s(i))},null,8,kt),n("div",{class:"ComplaintCard__author",textContent:_(s(l))},null,8,wt),n("div",xt,[n("time",{datetime:t.complaint.created_at,textContent:_(s(k))},null,8,$t),s(d)?(p(),v(Z,{key:0},[Tt,n("span",{textContent:_(s(x))},null,8,At)],64)):$("",!0),t.complaint.handled_at?(p(),v("time",{key:1,datetime:t.complaint.handled_at,class:"d-block",textContent:_(s(T))},null,8,Pt)):$("",!0)])])],2))}});const O="open_complaint",Mt=st(()=>nt(()=>import("./view-complaint-modal.1d1c61ee.js"),["./view-complaint-modal.1d1c61ee.js","./optional-link.vue.d4be4e04.js","./nuxt-link.002d1a86.js","./entry.5b3977f8.js","./entry.bd3d2830.css","./modal-footer.f8c6346b.js","./modal-footer.e879c118.css","./modal-close-button.1a7231a2.js","./svg-icon.vue.7f829b0a.js","./nl2br.21dbb5b2.js","./status-badge.309032ea.js","./product-enums.b609530e.js","./view-complaint-modal.da82f4f5.css"],import.meta.url)),Rt=g=>{const e=at(),c=E(),h=tt(),d=i=>{e.show({component:Mt,bind:{name:"view-complaint-modal",complaint:i},on:{close:()=>{h.back()},"update:complaint":l=>{ot(g,l.id,l)}}})},u=i=>{const l=g.value.find(k=>k.id===i);l&&d(l)},b=o(()=>{const i=et(c.query[O]);return i&&typeof i=="string"?parseInt(i):null});N(()=>{const i=b.value;i?u(i):e.hide("view-complaint-modal")})},Bt={class:"no-breadcrumbs"},Dt={class:"container"},jt=n("div",{id:"paginationTopAnchor"},null,-1),It={class:"d-flex align-items-baseline"},St=n("h1",{class:"h3 font-weight-bold mr-auto"},"Центр обработки жалоб",-1),Vt=["href"],Et={class:"row kp-catalog-wrapper"},Nt={class:"col-12 col-lg-9"},Ot={class:"KpTabs__item-content"},Ht=["textContent"],Ut={key:1,class:"search-no-results"},de=V({__name:"index",async setup(g){let e,c;const h=mt(),d=E();it({title:"Центр обработки жалоб"});const u=o(()=>new yt({defaults:{tab:a.pending},allowedTabs:[a.pending,a.closed,a.rejected]}).parse(d.query,["page","perPage","tab"])),b=o(()=>JSON.stringify(u.value)),{data:i,error:l}=([e,c]=ct(async()=>dt("moderator_page",async()=>{const{page:r,perPage:C,tab:A}=u.value;return await h.complaints.list({page:r,per_page:C,status:A})},{watch:[b]})),e=await e,c(),e);if(l.value)throw rt(l.value);const k=o(()=>i.value.data),T=o(()=>i.value.meta.total),x=o(()=>i.value.meta.last_page),m=o(()=>u.value.tab),t=D(u.value.page),y=lt().MODERATOR_PANEL_URL,w=D([]);N(()=>{w.value=k.value});const H=o(()=>[{key:a.pending,name:"Активные",class:{active:m.value===a.pending},to:{name:"moderator",query:{tab:a.pending}}},{key:a.closed,name:"Закрытые",class:{active:m.value===a.closed},to:{name:"moderator",query:{tab:a.closed}}},{key:a.rejected,name:"Отклоненные",class:{active:m.value===a.rejected},to:{name:"moderator",query:{tab:a.rejected}}}]),R=o(()=>[a.pending,a.closed,a.rejected].includes(m.value)?w.value.filter(r=>r.status===m.value):w.value),U=r=>{t.value=r;const C={...d,query:{...d.query,page:r}};return I(C)},L=r=>{const C={...d,query:{...d.query,[O]:r}};return I(C)};return Rt(w),(r,C)=>{const A=J,z=W,K=qt,Q=_t,F=ft;return p(),v("section",Bt,[n("div",Dt,[jt,n("div",It,[St,n("a",{href:s(y),target:"_blank",class:"btn btn-outline-secondary moderator-panel-link"}," Панель модератора ",8,Vt)]),n("div",Et,[n("div",Nt,[j(z,{tabs:s(H),"use-swiper":r.$device.isMobileOrTablet,decoration:"air",class:"mb-4 px-md-0","use-underline":""},{tab:P(({tab:f,index:B})=>[j(A,{to:f.to,class:M(["KpTabs__item",f.class]),"data-index":B},{default:P(()=>[n("div",Ot,[n("span",{class:"tab-text",textContent:_(f.name)},null,8,Ht)])]),_:2},1032,["to","class","data-index"])]),_:1},8,["tabs","use-swiper"]),s(T)&&s(R).length?(p(),q(Q,{key:0,items:s(R),"items-type":"complaints","view-mode":s(Ct).cards,columns:{mobile:1,md:2,lg:3}},{item:P(({item:f})=>[(p(),q(K,{key:f.id,complaint:f,onClick:B=>L(f.id)},null,8,["complaint","onClick"]))]),_:1},8,["items","view-mode"])):(p(),v("p",Ut,"Ничего не найдено")),s(x)>1?(p(),q(F,{key:2,class:"mt-3","total-pages":s(x),page:s(t),"onUpdate:page":U},null,8,["total-pages","page"])):$("",!0)])])])])}}});
1export{de 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.