Files
nademitex_user/dist/assets/ReminderDetailView-Dr0qYekB.js
T
mohmdsdgandCopilot adb6ca47cd fix(auth): secure sessions and app routing
Validate sessions against the API, honor configurable base paths, and route unknown pages to 404. Keep development ports stable so user and admin apps cannot be confused.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-09-24 20:14:11 +03:30

1 line
5.1 KiB
JavaScript

import{D as e,Et as t,G as n,J as r,N as i,O as a,P as o,T as s,Xt as c,Yt as l,Z as u,at as d,b as f,g as p,h as m,t as h,vt as g,w as _}from"./_plugin-vue_export-helper-Bo3WtfwJ.js";import{c as v}from"./index-BAQfYU-Q.js";import{t as y}from"./PageHeader-DTO8lja2.js";import{t as b}from"./PageSkeleton-DHtB6RUa.js";import{t as x}from"./crm-CooNUbmr.js";var S={key:0,class:`page reminder-detail`},C={class:`page__scroll detail-scroll`},w={key:0,class:`form-error`},T={class:`layout`},E={class:`panel`},ee={class:`field`},D={class:`field`},O={class:`customer-line`},k={class:`field`},A={class:`field`},j={class:`field`},M={class:`actions`},N=[`disabled`],P={class:`panel`},F={class:`panel chart-panel`},I={class:`bars`},L={class:`stats-grid`},R={key:1,class:`page empty`},z={key:2,class:`page empty`},B=h(o({__name:`ReminderDetailView`,setup(o){let h=m(),B=p(),V=x(),H=v(),U=_(()=>String(h.query.id??``)),W=g(null),G=g(null),K=g([]),q=g(!0),J=g(!1),Y=g(null);async function X(){if(!U.value){W.value=null,q.value=!1;return}q.value=!0,Y.value=null;try{let e=await V.loadReminderDetail(U.value);W.value=e.reminder,G.value=e.customer,K.value=e.history}catch(e){W.value=null,Y.value=e instanceof Error?e.message:`یادآور یافت نشد.`}finally{q.value=!1}}n(X),d(U,X);function Z(e){return e===`in_person`?`ملاقات حضوری`:e===`call`?`تماس تلفنی`:e===`message`?`پیام`:`یادداشت`}async function Q(){if(!(!W.value||W.value.completed)){J.value=!0,Y.value=null;try{await V.markReminderComplete(W.value.id),W.value={...W.value,completed:!0},B.push(`/reminders?filter=today`)}catch(e){Y.value=e instanceof Error?e.message:`تکمیل یادآور ناموفق بود.`}finally{J.value=!1}}}let te=_(()=>H.fullName||`واسطه`),$=_(()=>{let e=K.value;return{total:e.length,inPerson:e.filter(e=>e.type===`in_person`).length,call:e.filter(e=>e.type===`call`).length,other:e.filter(e=>e.type===`message`||e.type===`note`).length}}),ne=_(()=>{let e=Array.from({length:6},()=>({a:0,b:0,c:0}));K.value.forEach((t,n)=>{let r=e[n%6];r&&(t.type===`in_person`?r.a+=1:t.type===`call`?r.b+=1:r.c+=1)});let t=Math.max(1,...e.map(e=>e.a+e.b+e.c));return e.map(e=>({a:`${e.a/t*100}%`,b:`${e.b/t*100}%`,c:`${e.c/t*100}%`}))});return(n,o)=>W.value&&G.value?(r(),a(`div`,S,[i(y,{title:`جزئیات یادآور`,"show-back":``,centered:``,onBack:o[0]||=e=>t(B).back()}),s(`div`,C,[Y.value?(r(),a(`p`,w,c(Y.value),1)):e(``,!0),s(`div`,T,[s(`section`,E,[o[8]||=s(`h2`,null,`جزئیات یادآور`,-1),s(`div`,ee,[o[3]||=s(`span`,null,`عنوان`,-1),s(`strong`,null,c(W.value.title)+` — `+c(W.value.description),1)]),s(`div`,D,[o[4]||=s(`span`,null,`مشتری`,-1),s(`div`,O,[s(`div`,{class:`avatar`,style:l({background:G.value.avatarColor})},c(G.value.avatarLetter),5),s(`div`,null,[s(`strong`,null,c(G.value.name),1),s(`p`,null,c(G.value.contactName),1)])])]),s(`div`,k,[o[5]||=s(`span`,null,`فروشنده حامل حضوری`,-1),s(`strong`,null,c(te.value),1)]),s(`div`,A,[o[6]||=s(`span`,null,`تاریخ و زمان`,-1),s(`strong`,null,c(W.value.date)+` — `+c(W.value.time),1)]),s(`div`,j,[o[7]||=s(`span`,null,`یادداشت`,-1),s(`strong`,null,c(W.value.note||`—`),1)]),s(`div`,M,[s(`button`,{type:`button`,class:`btn-outline`,onClick:o[1]||=e=>t(B).back()},`ویرایش`),s(`button`,{type:`button`,class:`btn-primary`,disabled:J.value||W.value.completed,onClick:Q},c(W.value.completed?`تکمیل‌شده`:J.value?`...`:`تکمیل شد`),9,N)])]),s(`section`,P,[o[9]||=s(`h2`,null,`تاریخچه تعاملات`,-1),(r(!0),a(f,null,u(K.value,e=>(r(),a(`article`,{key:e.id,class:`history-row`},[s(`div`,null,[s(`strong`,null,c(Z(e.type)),1),s(`p`,null,c(e.description),1)]),s(`span`,null,c(e.date),1)]))),128)),s(`button`,{type:`button`,class:`see-all`,onClick:o[2]||=e=>t(B).push({path:`/customer`,query:{id:G.value.id,tab:`reports`}})},` مشاهده همه `)]),s(`section`,F,[o[14]||=s(`div`,{class:`chart-panel__head`},[s(`h2`,null,`نمودار فعالیت`),s(`span`,null,`تعاملات ثبت‌شده`)],-1),s(`div`,I,[(r(!0),a(f,null,u(ne.value,(t,n)=>(r(),a(`div`,{key:n,class:`bar`},[t.c===`0%`?e(``,!0):(r(),a(`span`,{key:0,class:`seg seg--c`,style:l({height:t.c})},null,4)),t.b===`0%`?e(``,!0):(r(),a(`span`,{key:1,class:`seg seg--b`,style:l({height:t.b})},null,4)),t.a===`0%`?e(``,!0):(r(),a(`span`,{key:2,class:`seg seg--a`,style:l({height:t.a})},null,4))]))),128))]),s(`div`,L,[s(`div`,null,[o[10]||=s(`span`,null,`کل تعاملات`,-1),s(`strong`,null,c($.value.total.toLocaleString(`fa-IR`))+` مورد`,1)]),s(`div`,null,[o[11]||=s(`span`,null,`ملاقات حضوری`,-1),s(`strong`,null,c($.value.inPerson.toLocaleString(`fa-IR`))+` مورد`,1)]),s(`div`,null,[o[12]||=s(`span`,null,`تماس تلفنی`,-1),s(`strong`,null,c($.value.call.toLocaleString(`fa-IR`))+` مورد`,1)]),s(`div`,null,[o[13]||=s(`span`,null,`یادداشت و پیام`,-1),s(`strong`,null,c($.value.other.toLocaleString(`fa-IR`))+` مورد`,1)])])])])])])):q.value?(r(),a(`div`,R,[i(b,{variant:`detail`})])):(r(),a(`div`,z,[s(`p`,null,c(Y.value||`یادآور یافت نشد.`),1)]))}}),[[`__scopeId`,`data-v-59c58cf4`]]);export{B as default};