Files
machartaa_admin_dist/dist/assets/index-28f41d8d.js
T
2026-08-18 11:53:09 +03:30

2 lines
12 KiB
JavaScript

import{_ as ve}from"./BasicMainCard-072fc40f.js";import{_ as fe}from"./BasicModal.vue_vue_type_style_index_0_lang-381c939b.js";import{_ as he,u as ye}from"./useBaseTable-6b0100f9.js";import{_ as be}from"./button.vue_vue_type_style_index_0_lang-055ef55a.js";import{I as xe}from"./Icon-e2745237.js";import{t as ge}from"./useDataTime-61faf9b9.js";import{g as E}from"./convert-2ad76038.js";import{t as ke}from"./textUtils-c37780ad.js";import{j as F,k as we,l as Te,n as Ce,o as Ie}from"./support-a4ca251b.js";import{_ as Re,T as Ue}from"./index-d80a30ff.js";import{a as Q,A as V}from"./index-c882a5dd.js";import{I as Be}from"./index-ec36d435.js";import{d as Se,g as f,r as O,h as L,E as Pe,v as $e,l as je,o as s,c as i,b as c,w as u,a as t,e as j,F as T,n as B,j as p,i as A,H as Ae,t as h,k as S,D as C,O as qe,P as De,p as J}from"./index-74df3455.js";import{T as Ne}from"./isSymbol-62e97e43.js";import{U as Ee}from"./index-90b890a0.js";import{_ as Le}from"./_plugin-vue_export-helper-37aa05ea.js";import"./Grid-eea6eeb5.js";import"./index-a65a4b3b.js";import"./Col-7df1a821.js";import"./styleChecker-4c9a1b23.js";import"./isPlainObject-4825706c.js";import"./vnode-b6bcf78e.js";import"./index-83319668.js";import"./index-65da5dac.js";import"./DialogWrap-93c13aef.js";import"./shallowequal-299ad79c.js";import"./omit-763d2c81.js";import"./pickAttrs-e0ea06b2.js";import"./index-efd9ee2a.js";import"./FormItemContext-6413b4c6.js";import"./updateLocale-5b0fd44f.js";import"./index-bc659f42.js";import"./useState-2abd0489.js";import"./useMemo-a5bf3ddc.js";import"./lodash-6f7438f2.js";import"./BaseSwitch.vue_vue_type_script_setup_true_lang-d8bae45c.js";import"./index-6a94b684.js";import"./Badge-be9a4aa1.js";import"./isNumeric-3f69e2aa.js";import"./index-7ea4c0f8.js";import"./index-efc8d329.js";import"./index-5ea23f62.js";import"./index-d81adf35.js";import"./index-ee58981c.js";import"./css-aae66f86.js";import"./index-043ef8cd.js";import"./toArray-5920af1b.js";import"./SearchOutlined-8f5d71bf.js";import"./isMobile-e2e89480.js";import"./index-0f51a503.js";import"./useRefs-d90adc8f.js";import"./_flatRest-899894ad.js";import"./index-9a2fbb01.js";import"./index-4e077a6e.js";function Ke(a){const _=a==null?void 0:a.users;return _?_.name||[_.first_name,_.last_name].filter(Boolean).join(" ")||_.phone||(a==null?void 0:a.account_name)||"—":(a==null?void 0:a.account_name)||"—"}function Me(a){var _;return((_=a==null?void 0:a.users)==null?void 0:_.phone)||(a==null?void 0:a.account_phone)||"—"}const Fe=[{title:"ردیف",dataIndex:"id",key:"row_index",filterable:!1,width:70,align:"center",customRender:a=>a.record.index+1},{title:"شماره تیکت",dataIndex:"id",key:"id",type:"Number",width:110,align:"center",customRender:a=>`#${a.record.id}`},{title:"نام کاربر",dataIndex:"account_name",key:"account_name",type:"Text",width:160,customRender:a=>Ke(a.record)},{title:"شماره موبایل",dataIndex:"account_phone",key:"account_phone",type:"Text",width:130,customRender:a=>Me(a.record)},{title:"متن تیکت",dataIndex:"problem",key:"problem",type:"Text",width:280,customRender:a=>{const{truncated:_}=ke(a.record.problem||"",70);return _}},{title:"عملیات",dataIndex:"action",key:"action",width:90,align:"center",slot:"action",filterable:!1}],z=[{value:"codoblo",label:"اشتراک کدوبلو"},{value:"shop",label:"بخش فروشگاه"},{value:"other",label:"بخش‌های دیگر اپلیکیشن"},{value:"feedback",label:"انتقاد و پیشنهاد"}],Qe=[{value:"new",label:"درخواست‌های جدید"},{value:"answered",label:"پاسخ داده‌شده"},{value:"follow_up",label:"ادامه گفتگو"},{value:"closed",label:"بسته‌شده"}],v=a=>(qe("data-v-baa5a69c"),a=a(),De(),a),Ve={class:"tickets-page"},Oe={class:"tickets-page__inner"},Je={class:"tickets-page__header flex justify-between items-center gap-3 flex-wrap"},ze=v(()=>t("div",null,[t("h2",{class:"text-lg font-bold m-0"},"تیکت‌های پشتیبانی"),t("p",{class:"text-sm text-gray-500 mt-1 mb-0"},"مدیریت درخواست‌های پشتیبانی کاربران")],-1)),Ge={class:"tickets-layout"},He={class:"tickets-queues"},We=v(()=>t("div",{class:"tickets-queues__title"},"وضعیت درخواست‌ها",-1)),Xe=["onClick"],Ye={class:"tickets-queues__item-label"},Ze={class:"tickets-queues__item-count"},et={class:"tickets-main"},tt={class:"tickets-table-wrap"},at=v(()=>t("span",null,"عملیات",-1)),st={key:0,class:"py-8 text-center text-gray-500"},ot={key:1,class:"space-y-4"},nt={class:"grid grid-cols-1 md:grid-cols-2 gap-3 text-sm"},lt=v(()=>t("div",{class:"text-gray-500 mb-1"},"شماره تیکت",-1)),it={class:"font-600 dir-ltr text-right"},rt=v(()=>t("div",{class:"text-gray-500 mb-1"},"موضوع",-1)),ct={class:"font-600"},ut=v(()=>t("div",{class:"text-gray-500 mb-1"},"نام و نام خانوادگی",-1)),dt={class:"font-600"},pt=v(()=>t("div",{class:"text-gray-500 mb-1"},"شماره همراه",-1)),_t={class:"font-600 dir-ltr text-right"},mt=v(()=>t("div",{class:"text-gray-500 mb-1 text-sm"},"متن پیام کاربر",-1)),vt={class:"rounded-xl border border-gray-200 bg-gray-50 p-3 text-sm leading-7 whitespace-pre-wrap"},ft={key:0,class:"flex flex-wrap gap-2 mt-2"},ht={key:0,class:"space-y-2"},yt=v(()=>t("div",{class:"text-gray-500 text-sm"},"تاریخچه گفتگو",-1)),bt={class:"text-xs text-gray-500 mb-1"},xt={class:"leading-7 whitespace-pre-wrap"},gt={key:0,class:"flex flex-wrap gap-2 mt-2"},kt=v(()=>t("div",{class:"mb-1 text-sm text-gray-600"},"متن پاسخ کارشناس",-1)),wt=v(()=>t("div",{class:"mb-1 text-sm text-gray-600"},"تصاویر مربوطه برای کاربر",-1)),Tt={key:0},Ct=v(()=>t("div",{class:"text-xs"},"آپلود تصویر",-1)),It=[Ct],Rt={key:2,class:"rounded-xl bg-gray-100 p-3 text-center text-sm text-gray-600"},Ut={key:0,class:"flex justify-end gap-2"},Bt={key:1,class:"flex justify-end"},St=Se({__name:"index",setup(a){const{TextArea:_}=Be,G=f(),I=f(!1),q=f(!1),o=f(null),D=f(!1),g=f("new"),k=f("all"),R=O({new:0,answered:0,follow_up:0,closed:0}),w=O({content:""}),x=f([]),b=f([]),H=Qe,W=L(()=>`${g.value}:${k.value}`),[X,Y]=ye(),N=f({columns:Fe,api:F(g.value,k.value),defaultPageLimit:20}),Z=L(()=>{var n,l,m;const e=(n=o.value)==null?void 0:n.users;return e?e.name||[e.first_name,e.last_name].filter(Boolean).join(" ")||((l=o.value)==null?void 0:l.account_name)||"—":((m=o.value)==null?void 0:m.account_name)||"—"}),ee=L(()=>{var e,n,l;return((n=(e=o.value)==null?void 0:e.users)==null?void 0:n.phone)||((l=o.value)==null?void 0:l.account_phone)||"—"});function te(e){var n;return((n=z.find(l=>l.value===e))==null?void 0:n.label)||e||"—"}function ae(){N.value={...N.value,api:F(g.value,k.value)}}async function K(){try{const e=await we();R.new=e.new,R.answered=e.answered,R.follow_up=e.follow_up,R.closed=e.closed}catch{}}function se(e){g.value=e}Pe([g,k],()=>{ae()});async function oe(e){I.value=!0,q.value=!0,o.value=null,w.content="",x.value=[],b.value=[];try{o.value=await Te(e.id)}catch{C.error("خطا در دریافت جزئیات تیکت"),I.value=!1}finally{q.value=!1}}function U(){I.value=!1,o.value=null,w.content="",x.value=[],b.value=[]}function ne(e){return e.type.startsWith("image/")?!0:(C.error("فقط تصویر مجاز است"),!1)}async function le(e){const{file:n,onSuccess:l,onError:m}=e;try{const y=await Ce(n);x.value.push({url:y,name:n.name}),b.value=[...b.value,{uid:`${Date.now()}`,name:n.name,status:"done",url:E(y),response:{path:y}}],l==null||l({path:y})}catch(y){m==null||m(y),C.error("خطا در آپلود تصویر")}}function ie(e){var l;const n=((l=e==null?void 0:e.response)==null?void 0:l.path)||re(e==null?void 0:e.url);x.value=x.value.filter(m=>m.url!==n),b.value=b.value.filter(m=>m.uid!==e.uid)}function re(e){return e?e.replace(/^https?:\/\/[^/]+/,""):""}async function ce(){if(o.value){if(!w.content.trim()&&!x.value.length){C.warning("متن پاسخ یا تصویر را وارد کنید");return}try{D.value=!0,await Ie({ticketId:o.value.id,content:w.content,attachments:x.value}),C.success("پاسخ ارسال شد"),U(),await K(),await Y()}catch(e){C.error((e==null?void 0:e.message)||"خطا در ارسال پاسخ")}finally{D.value=!1}}}return $e(K),(e,n)=>{const l=be,m=je("RouterLink"),y=Re,ue=Ue,de=he,pe=fe,_e=ve;return s(),i("div",Ve,[c(_e,null,{default:u(()=>[t("div",Oe,[t("div",Je,[ze,c(m,{to:{name:"supportMain"}},{default:u(()=>[c(l,null,{default:u(()=>[j("بازگشت به چت")]),_:1})]),_:1})]),t("div",Ge,[t("aside",He,[We,(s(!0),i(T,null,B(p(H),r=>(s(),i("button",{key:r.value,type:"button",class:J(["tickets-queues__item",{"tickets-queues__item--active":g.value===r.value}]),onClick:P=>se(r.value)},[t("span",Ye,h(r.label),1),t("span",Ze,h(R[r.value]||0),1)],10,Xe))),128))]),t("section",et,[c(ue,{activeKey:k.value,"onUpdate:activeKey":n[0]||(n[0]=r=>k.value=r),class:"tickets-tabs"},{default:u(()=>[c(y,{key:"all",tab:"همه موضوعات"}),(s(!0),i(T,null,B(p(z),r=>(s(),A(y,{key:r.value,tab:r.label},null,8,["tab"]))),128))]),_:1},8,["activeKey"]),t("div",tt,[(s(),A(de,Ae({key:W.value},N.value,{ref_key:"table",ref:G,onRegister:p(X)}),{action:u(({record:r})=>[c(p(Ne),{class:"cursor-pointer"},{title:u(()=>[at]),default:u(()=>[c(xe,{icon:"vuesax-linear:eye",color:"#1D4ED8",onClick:P=>oe(r)},null,8,["onClick"])]),_:2},1024)]),_:1},16,["onRegister"]))])])])]),c(pe,{visible:I.value,"onUpdate:visible":n[2]||(n[2]=r=>I.value=r),title:"جزئیات تیکت پشتیبانی","custom-footer":!0,width:"720px",onCancel:U,onClose:U},{footer:u(()=>[o.value&&o.value.status!=="closed"?(s(),i("div",Ut,[c(l,{onClick:U},{default:u(()=>[j("انصراف")]),_:1}),c(l,{type:"primary",loading:D.value,onClick:ce},{default:u(()=>[j(" ارسال پاسخ ")]),_:1},8,["loading"])])):(s(),i("div",Bt,[c(l,{onClick:U},{default:u(()=>[j("بستن")]),_:1})]))]),default:u(()=>{var r,P;return[q.value?(s(),i("div",st,"در حال بارگذاری...")):o.value?(s(),i("div",ot,[t("div",nt,[t("div",null,[lt,t("div",it,"#"+h(o.value.id),1)]),t("div",null,[rt,t("div",ct,h(te(o.value.subject)),1)]),t("div",null,[ut,t("div",dt,h(Z.value),1)]),t("div",null,[pt,t("div",_t,h(ee.value),1)])]),t("div",null,[mt,t("div",vt,h(o.value.problem),1),(r=o.value.attachments)!=null&&r.length?(s(),i("div",ft,[c(p(Q),null,{default:u(()=>[(s(!0),i(T,null,B(o.value.attachments,(d,$)=>(s(),A(p(V),{key:`att-${$}`,src:p(E)(d.url),alt:d.name||"تصویر",width:80,height:80,preview:{mask:"پیش‌نمایش"},style:{"object-fit":"cover","border-radius":"8px",overflow:"hidden",border:"1px solid #e5e7eb"}},null,8,["src","alt"]))),128))]),_:1})])):S("",!0)]),(P=o.value.messages)!=null&&P.length?(s(),i("div",ht,[yt,(s(!0),i(T,null,B(o.value.messages,d=>{var $;return s(),i("div",{key:d.id,class:J(["rounded-xl border border-gray-200 p-3 text-sm",d.sender_type==="admin"?"bg-amber-50":"bg-white"])},[t("div",bt,h(d.sender_type==="admin"?"کارشناس":"کاربر")+" · "+h(d.created_at?p(ge)(d.created_at):""),1),t("div",xt,h(d.content),1),($=d.attachments)!=null&&$.length?(s(),i("div",gt,[c(p(Q),null,{default:u(()=>[(s(!0),i(T,null,B(d.attachments,(M,me)=>(s(),A(p(V),{key:`msg-att-${d.id}-${me}`,src:p(E)(M.url),alt:M.name||"تصویر",width:64,height:64,preview:{mask:"پیش‌نمایش"},style:{"object-fit":"cover","border-radius":"8px",overflow:"hidden",border:"1px solid #e5e7eb"}},null,8,["src","alt"]))),128))]),_:2},1024)])):S("",!0)],2)}),128))])):S("",!0),o.value.status!=="closed"?(s(),i(T,{key:1},[t("div",null,[kt,c(p(_),{value:w.content,"onUpdate:value":n[1]||(n[1]=d=>w.content=d),rows:4,placeholder:"پاسخ خود را بنویسید..."},null,8,["value"])]),t("div",null,[wt,c(p(Ee),{"list-type":"picture-card","file-list":b.value,"custom-request":le,"before-upload":ne,onRemove:ie},{default:u(()=>[b.value.length<6?(s(),i("div",Tt,It)):S("",!0)]),_:1},8,["file-list"])])],64)):(s(),i("div",Rt," این تیکت بسته‌شده است. "))])):S("",!0)]}),_:1},8,["visible"])]),_:1})])}}});const Pa=Le(St,[["__scopeId","data-v-baa5a69c"]]);export{Pa as default};