Files
hedena_gold/apps/user-app/dist/assets/CustomerChoiceView-cK3rVYet.js
T
mahmoodandClaude Sonnet 5.5 0b973f9e46 fix(app): re-check the sales-expert flag on every dashboard visit
The "سفارش مشتریان" / "مشتریان من" entries are shown from session.isSalesExpert,
which was fetched from /expert/whoami only once, at sign-in. A slow or failed
request (silently swallowed) left the flag false until the next login, so an
expert saw a customer-only menu. The dashboard now asks again on mount and on
every re-activation, and keeps the current value when the request fails.

Rebuilds user-app and user-app-v2 dist.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-26 10:23:08 +03:30

2 lines
4.7 KiB
JavaScript

import{d as A,T as R,z as $,o as B,c,q as l,C as _,P as D,m as E,h as i,y as F,b as r,e,F as I,r as T,I as v,t as o,g as y,a2 as U,E as q,G,f as L,_ as M}from"./index-CW3p0GOu.js";import{A as O}from"./AppPullRefresh-B5nVhmJH.js";import{P as j}from"./PageBar-DMRK3EvR.js";import{S as H}from"./SearchInput-DmB8cV3J.js";import{D as J}from"./index-BE0Svpni.js";import"./KeyCode-XNgVk4n7.js";import"./classCallCheck-D2PNRTXv.js";import"./raf-nDFcuFT6.js";const K={class:"cch"},Q={class:"cch__barExtra"},W={key:0,class:"cch__list"},X=["onClick"],Y={class:"cch__head"},Z={class:"cch__name"},ee={class:"cch__facts"},se={class:"cch__fact"},te={dir:"ltr"},ae={class:"cch__fact"},oe={dir:"ltr"},ne={key:0,class:"cch__fact"},le={key:1,class:"cch__empty"},ce={key:2,class:"cch__empty"},ie={key:0,class:"cch__detail"},re={class:"cch__detailTitle"},ue={class:"cch__rows"},de={class:"cch__row"},_e={dir:"ltr"},ve={class:"cch__row"},he={dir:"ltr"},pe={class:"cch__row"},fe={class:"cch__row"},me={class:"cch__row"},ye={dir:"ltr"},be={class:"cch__row"},ge={dir:"ltr"},we={class:"cch__row"},Ce=["disabled"],ke=A({__name:"CustomerChoiceView",setup(xe){const C=G(),k=R(),x=$(),h=i(!1),u=i([]),p=i(!1),b=i(!1),f=i(!1),g=i(null),d=i(!1),n=i(null);function w(t){const s=Number(t??0);return Number.isFinite(s)?s.toFixed(3):"0.000"}async function m(){p.value=!0,f.value=!1;try{u.value=await F.getExpertCustomers(g.value)}catch{f.value=!0,u.value=[]}finally{p.value=!1}}async function S(t){g.value=t!=null&&t.trim()?t.trim():null,await m()}async function z(){try{await m()}finally{b.value=!1}}function V(t){n.value=t,d.value=!0}async function N(t){h.value=!0;try{x.clear(),k.setActingAs({id:t.id,name:t.name??t.fullName??t.mobile??""}),d.value=!1,await C.push({name:"userPage::hasSubRoute"}),U.success(`وارد حساب ${t.name??""} شدید`)}finally{h.value=!1}}return B(m),(t,s)=>{const P=q("container");return r(),c("div",K,[l(j,{title:"لیست مشتریان","back-to":"userPage::hasSubRoute"},{below:_(()=>[e("div",Q,[l(H,{onSearch:S,"place-holder":"جستجو"})])]),_:1}),l(D,{spinning:p.value&&!u.value.length,tip:"درحال دریافت اطلاعات"},{default:_(()=>[l(O,{modelValue:b.value,"onUpdate:modelValue":s[0]||(s[0]=a=>b.value=a),onRefresh:z},{default:_(()=>[l(P,{class:"cch__body"},{default:_(()=>[u.value.length?(r(),c("div",W,[(r(!0),c(I,null,T(u.value,a=>(r(),c("article",{key:a.id,class:"cch__card",onClick:Se=>V(a)},[e("div",Y,[e("h3",Z,o(a.name),1),e("span",{class:L(["cch__state",a.active===1?"is-on":"is-off"])},o(a.active===1?"فعال":"غیرفعال"),3)]),e("div",ee,[e("div",se,[l(v,{icon:"vuesax-linear:mobile",size:"15"}),e("span",te,o(a.mobile||"—"),1)]),e("div",ae,[l(v,{icon:"vuesax-linear:call",size:"15"}),e("span",oe,o(a.phone||"—"),1)]),a.store_name?(r(),c("div",ne,[l(v,{icon:"vuesax-linear:shop",size:"15"}),e("span",null,o(a.store_name),1)])):y("",!0)])],8,X))),128))])):!p.value&&!f.value?(r(),c("section",le,[l(v,{icon:"vuesax-linear:profile-2user",size:"26"}),e("p",null,o(g.value?"مشتری با این مشخصات پیدا نشد.":"هنوز مشتری‌ای به شما معرفی نشده است."),1)])):y("",!0),f.value?(r(),c("section",ce,[l(v,{icon:"vuesax-linear:danger",size:"26"}),s[4]||(s[4]=e("p",null,"دریافت اطلاعات با خطا روبه‌رو شد.",-1)),e("button",{type:"button",class:"cch__retry",onClick:m},"تلاش دوباره")])):y("",!0)]),_:1})]),_:1},8,["modelValue"])]),_:1},8,["spinning"]),l(E(J),{open:d.value,"onUpdate:open":s[3]||(s[3]=a=>d.value=a),placement:"bottom",height:"auto",closable:!1,"body-style":{padding:"0"}},{default:_(()=>[n.value?(r(),c("div",ie,[e("h2",re,o(n.value.name),1),e("dl",ue,[e("div",de,[s[5]||(s[5]=e("dt",null,"موبایل",-1)),e("dd",_e,o(n.value.mobile||"—"),1)]),e("div",ve,[s[6]||(s[6]=e("dt",null,"تلفن",-1)),e("dd",he,o(n.value.phone||"—"),1)]),e("div",pe,[s[7]||(s[7]=e("dt",null,"نام مغازه",-1)),e("dd",null,o(n.value.store_name||"—"),1)]),e("div",fe,[s[8]||(s[8]=e("dt",null,"نام پاساژ",-1)),e("dd",null,o(n.value.pasazh_name||"—"),1)]),e("div",me,[s[9]||(s[9]=e("dt",null,"سقف اعتبار",-1)),e("dd",ye,o(w(n.value.gram_level))+" گرم",1)]),e("div",be,[s[10]||(s[10]=e("dt",null,"بدهی گرمی",-1)),e("dd",ge,o(w(n.value.remain))+" گرم",1)]),e("div",we,[s[11]||(s[11]=e("dt",null,"وضعیت",-1)),e("dd",null,o(n.value.active===1?"فعال":"غیرفعال"),1)])]),e("button",{type:"button",class:"cch__enter",disabled:h.value,onClick:s[1]||(s[1]=a=>N(n.value))},o(h.value?"در حال ورود…":"ورود به حساب این مشتری"),9,Ce),e("button",{type:"button",class:"cch__close",onClick:s[2]||(s[2]=a=>d.value=!1)},"بستن")])):y("",!0)]),_:1},8,["open"])])}}}),De=M(ke,[["__scopeId","data-v-3aecce36"]]);export{De as default};