2 lines
14 KiB
JavaScript
2 lines
14 KiB
JavaScript
import{I as _}from"./Icon-fSTUMLnE.js";import{m as ye}from"./index-DOvHH1wV.js";import{u as F,d as xe,v as ke,x as T,y as ge,a as b,p as i,a0 as Y,w as o,r as y,o as u,e as B,t as m,m as l,f as v,c as x,n as I,b as Ce,k as j,A as g,j as he,_ as Se}from"./index-BAVzA63z.js";import{a as be,b as r,X as $e}from"./model-DEZgUuUh.js";import{_ as Te}from"./ListPageHeader.vue_vue_type_script_setup_true_lang-CSWDlXRR.js";import{_ as Ie}from"./AccountingSyncButton.vue_vue_type_script_setup_true_lang-DVAgRmCS.js";import{_ as je}from"./bulkCustomer.vue_vue_type_script_setup_true_lang-ByJVm_Hb.js";const Oe={omde:{url:"admin/customers-omde/list",title:"لیست مشتریان های عمده"},banker:{url:"admin/customers-omde/banker/list",title:"لیست بنکداران"},shopkeeper:{url:"admin/customers-omde/shopkeeper/list",title:"لیست مغازه داران حضوری"},nonVerified:{url:"admin/customers-omde/non-verified/list",title:"لیست مشتریان های عمده"},archived:{url:"admin/customers-omde/archived/list",title:"لیست مشتریان های عمده"}};function ot(d){const p=F();Object.keys(p.cityFilters).length<1&&p.getCities();const{url:k,title:f}=Oe[d],s=new be(k,f);return s.add(new r("id","کد").filterNumber()),s.add(new r("fname","نام").filterText().hidden()),s.add(new r("lname","نام خانوادگی").filterText().hidden()),s.add(new r("name","نام و نام خانوادگی").filterText()),s.add(new r("mobile","موبایل").filterText().hidden().noSort()),s.add(new r("city_id","شهر").hidden().renderSlot("city").filterKey("city_id").filterSelect(p.cityFilters)),s.add(new r("reagent.name","کارشناس فروش").filterText().noSort()),s.add(new r("gram_level","سطح اعتبار").filterNumber().noSort()),s.add(new r("percent","درصد").filterNumber().noSort()),s.add(new r("remain","بدهی گرمی").filterNumber().noSort()),s.add(new r("rial_remain","بدهی ریالی").filterNumber().noSort()),s.add(new r("caj","تاریخ ثبت").filterDate().noSort()),s.add(new r("uaj","بروزرسانی").hidden().filterDate().noSort()),s.add(new r("sts_str","وضعیت ثبت سفارش").renderSlot("sts").noSort()),s.add(new r("active","وضعیت حساب کاربری").renderSlot("active").noSort().filterSelect({1:"فعال","-1":"غیر فعال"})),s.add(new r("phone","تلفن").filterText().hidden().noSort()),s.add(new r("address","آدرس").filterText().hidden().noSort()),s.add(new r("store_name","نام مغازه").filterText().hidden().noSort()),s.add(new r("zone","منطقه").filterText().hidden().noSort()),s.add(new r("pasazh_name","نام پاساژ").filterText().hidden().noSort()),s.add(new r("opt","عملیات").noSort().renderSlot("opt")),s}function ze(d,p){if(d.cols.some(f=>f.key==="acc_remain"))return;const k=d.cols.findIndex(f=>f.key==="rial_remain");for(const f of d.cols)f.key==="remain"&&(f.title="بدهی داخل اپ (گرم)"),f.key==="rial_remain"&&(f.title="بدهی داخل اپ (ریال)");d.cols.splice(k+1,0,new r("acc_remain",`ماندهی ${p} (گرم)`).filterNumber().renderSlot("acc_gold"),new r("acc_rial_remain",`ماندهی ${p} (ریال)`).filterNumber().renderSlot("acc_rial"))}const Ne={id:"page-user-list"},Ae={key:0,class:"list-count"},Be={class:"text-danger"},De={key:0},Ee={key:1},Le={key:0,class:"acc-none"},Me={class:"flex"},Ve={class:"cursor-pointer flex items-center"},He={class:"flex gap-2"},Re={class:"flex gap-2"},Ue={class:"flex gap-2"},Xe={class:"flex gap-2"},Ye={class:"flex gap-2"},Fe={class:"flex gap-2"},qe={key:0,class:"text-danger text-xs"},Pe={class:"flex gap-2"},Je={class:"flex gap-2"},Ke={class:"flex gap-2"},Qe=xe({__name:"OmdeCustomerList",props:{title:{},model:{},showAddButton:{type:Boolean,default:!1},accountingSync:{type:Boolean,default:!1}},setup(d){const p=d,k=he(),f=F(),s=e=>!!f.hasPermission(e),C=j(null),O=j(!1),z=j(void 0),S=j(void 0);function q(e){const n=e;S.value={count:n&&n.count?n.count:void 0,total:n&&n.total?n.total:void 0}}const P=[{slot:"acc_gold",field:"acc_remain",places:3},{slot:"acc_rial",field:"acc_rial_remain",places:0}],J=e=>Number(e)>0?"acc-debt":Number(e)<0?"acc-credit":"";function K(e,n){const c=Number(e);return c?`${Math.abs(c).toLocaleString("fa-IR",{maximumFractionDigits:n})} ${c>0?"بدهکار":"بستانکار"}`:"۰"}const Q=e=>ye(e).format("jYYYY/jMM/jDD HH:mm");ke(async()=>{try{const{data:e}=await T.get("admin/accounting-status");e!=null&&e.connected&&e.provider&&ze(ge(p.model),e.provider)}catch{}});function G(e,n){const c=String(e.key);return c==="5"||c==="6"||c==="7"||c==="8"||c==="9"}function W(e){switch(e.sts_verify_step_one){case 1:return"در انتظار تایید ورود مشتری";case 2:return"رد ورود مشتری";case 3:return"تایید ورود مشتری"}}function D(e){switch(e.sts_verify_step_one){case 1:return"HelpCircleIcon";case 2:return"SlashIcon";case 3:return"CheckIcon"}}function Z(e){switch(e.sts_verify_step_two){case 1:return"در انتظار فعال سازی";case 2:return"غیر فعال سازی";case 3:return"فعال سازی"}}function E(e){switch(e.sts_verify_step_two){case 1:return"HelpCircleIcon";case 2:return"SlashIcon";case 3:return"CheckIcon"}}function L(e){return e==="HelpCircleIcon"?"vuesax-linear:message-question":e==="CheckIcon"?"vuesax-linear:tick-circle":"vuesax-linear:slash"}function M(e){return e==="HelpCircleIcon"?"text-primary":e==="CheckIcon"?"text-success":"text-danger"}async function N(e,n){var c;try{await T.post("major/verify",e),g.info("تغییرات ثبت شد "),(c=C.value)==null||c.fetch()}catch{g.error(n)}}const V=e=>N({customer_id:e,sts_verify_step_one:2},"خطا در تغییر وضعیت اولیه مشتری"),H=e=>X(e,"sts_verify_step_one"),R=e=>N({customer_id:e,sts_verify_step_two:2},"خطا در تغییر وضعیت سفارش مشتری"),U=e=>X(e,"sts_verify_step_two"),h=j({open:!1,saving:!1,id:"",step:"sts_verify_step_one",reason:""});function X(e,n){h.value={open:!0,saving:!1,id:e,step:n,reason:""}}async function ee(){const e=h.value;e.saving=!0,await N({customer_id:e.id,[e.step]:3,reason:e.reason.trim()||null},e.step==="sts_verify_step_one"?"خطا در تغییر وضعیت اولیه مشتری":"خطا در تغییر وضعیت سفارش مشتری"),e.saving=!1,e.open=!1}function te(e){return e.sts_verify_step_one===1?V(e.id):e.sts_verify_step_one===2?H(e.id):V(e.id)}function ne(e){if(e.sts_verify_step_one===1)return H(e.id)}function se(e){return e.sts_verify_step_two===1?R(e.id):e.sts_verify_step_two===2?U(e.id):R(e.id)}function oe(e){if(e.sts_verify_step_two===1)return U(e.id)}async function ie(e){var n;try{await T.post("customer/toggle-active",{id:e.id}),g.info("تغییرات ثبت شد "),await((n=C.value)==null?void 0:n.fetch())}catch{g.error("خطا در تغییر وضعیت")}}async function ae(e){var n;try{await T.post("customer/toggle-sts",{id:e.id,sts:e.sts}),g.info("تغییرات ثبت شد "),await((n=C.value)==null?void 0:n.fetch())}catch{g.error("خطا در تغییر وضعیت")}}async function le(e){var n;try{await T.get(`major/archive/${e}`),g.info("تغییرات ثبت شد "),await((n=C.value)==null?void 0:n.fetch())}catch{g.error("خطا در بایگانی")}}function re(e){p.showAddButton?(z.value=e,O.value=!0):k.push(`/bulkCustomer/edit/${e}`)}function ce(){z.value=void 0,O.value=!0}function ue(e){k.push(`/bulkCustomer/view/${e}`)}function de(e){k.push(`/bulkCustomer/view/${e.id}?tab=orders`)}function fe(e){k.push(`/bulkCustomer/view/${e.id}?tab=documents`)}return(e,n)=>{const c=y("a-tag"),A=y("a-tooltip"),w=y("a-menu-item"),$=y("a-popconfirm"),_e=y("a-menu"),me=y("a-dropdown"),ve=y("a-textarea"),pe=y("a-modal"),we=y("a-card");return u(),b("div",Ne,[i(we,{title:d.title,class:"page-card"},Y({default:o(()=>[S.value&&S.value.count&&S.value.total?(u(),b("div",Ae,[B(m(S.value.total)+" رکورد یافت شد - ",1),l("span",Be,m(S.value.count)+" رکورد غیر فعال",1)])):v("",!0),i($e,{ref_key:"tbl",ref:C,model:d.model,"mobile-cards":"",onQuery:q},Y({city:o(({record:t})=>[t.city&&t.city.title?(u(),b("div",De,m(t.city.title),1)):(u(),b("div",Ee,"-"))]),sts:o(({record:t})=>[i(c,{color:t.sts===1?"green":"red"},{default:o(()=>[B(m(t.sts_str),1)]),_:2},1032,["color"])]),active:o(({record:t})=>[i(c,{color:t.active===1?"green":"red"},{default:o(()=>[B(m(t.active===1?"فعال":"غیر فعال"),1)]),_:2},1032,["color"])]),opt:o(({record:t})=>[l("div",Me,[i(me,null,{overlay:o(()=>[i(_e,{onClick:a=>G(a,t.id)},{default:o(()=>[s("persons.list.client.omde.edit")?(u(),x(w,{key:"1",onClick:a=>re(t.id)},{default:o(()=>[l("div",He,[i(_,{icon:"vuesax-linear:edit-2",size:"16",class:"cursor-pointer w-5 ml-1"}),n[5]||(n[5]=l("div",null,"ویرایش",-1))])]),_:1},8,["onClick"])):v("",!0),s("persons.list.client.omde.view")?(u(),x(w,{key:"2",onClick:a=>ue(t.id)},{default:o(()=>[l("div",Re,[i(_,{icon:"vuesax-linear:eye",size:"16",class:"cursor-pointer w-5 ml-1"}),n[6]||(n[6]=l("div",null,"مشاهده اطلاعات",-1))])]),_:1},8,["onClick"])):v("",!0),s("persons.list.client.omde.view.orders")?(u(),x(w,{key:"3",onClick:a=>de(t)},{default:o(()=>[l("div",Ue,[i(_,{icon:"vuesax-linear:row-vertical",size:"16",class:"cursor-pointer w-5 ml-1"}),n[7]||(n[7]=l("div",null,"مشاهده سفارش",-1))])]),_:1},8,["onClick"])):v("",!0),s("persons.list.client.omde.view.documents")?(u(),x(w,{key:"4",onClick:a=>fe(t)},{default:o(()=>[l("div",Xe,[i(_,{icon:"vuesax-linear:document-text",size:"16",class:"cursor-pointer w-5 ml-1"}),n[8]||(n[8]=l("div",null,"سند های مالی",-1))])]),_:1},8,["onClick"])):v("",!0),s("persons.list.client.omde.able")?(u(),x(w,{key:"7"},{default:o(()=>[i($,{"ok-text":"بله","cancel-text":"خیر",title:"آیا مطمئن هستید؟",onConfirm:a=>le(t.id)},{default:o(()=>[l("div",Ye,[i(_,{icon:"vuesax-linear:document-download",size:"16",class:"cursor-pointer w-5 ml-1"}),n[9]||(n[9]=l("div",null,"بایگانی کردن",-1))])]),_:1},8,["onConfirm"])]),_:2},1024)):v("",!0),i(w,{key:"8"},{default:o(()=>[i($,{"ok-text":t.sts_verify_step_one===1?"تایید":"بله","cancel-text":t.sts_verify_step_one===1?"رد":"خیر",title:t.sts_verify_step_one===1?"وضعیت تایید اولیه مشتری به چه نحوی تغییر یابد؟":"آیا از تغییر وضعیت مشتری اطمینان دارید؟",onConfirm:a=>te(t),onCancel:a=>ne(t)},{default:o(()=>[l("div",Fe,[i(_,{icon:L(D(t)),size:"18",class:I(["cursor-pointer w-5 ml-1",M(D(t))])},null,8,["icon","class"]),l("div",null,[l("div",null,m(W(t)),1),t.verificationStep==="REJECTED"?(u(),b("div",qe," رد شده"+m(t.verification_rejection_reason?`: ${t.verification_rejection_reason}`:""),1)):v("",!0)])])]),_:2},1032,["ok-text","cancel-text","title","onConfirm","onCancel"])]),_:2},1024),i(w,{disabled:t.sts_verify_step_one!==2,key:"9"},{default:o(()=>[i($,{"ok-text":t.sts_verify_step_two===1?"تایید":"بله","cancel-text":t.sts_verify_step_two===1?"رد":"خیر",title:t.sts_verify_step_two===1?"وضعیت تایید سفارش مشتری به چه نحوی تغییر یابد؟":"آیا از تغییر وضعیت سفارش مشتری اطمینان دارید؟",onConfirm:a=>se(t),onCancel:a=>oe(t)},{default:o(()=>[l("div",Pe,[i(_,{icon:L(E(t)),size:"18",class:I(["cursor-pointer w-5 ml-1",M(E(t))])},null,8,["icon","class"]),l("div",null,m(Z(t)),1)])]),_:2},1032,["ok-text","cancel-text","title","onConfirm","onCancel"])]),_:2},1032,["disabled"]),s("persons.list.client.omde.able.order")?(u(),x(w,{disabled:t.sts_verify_step_one!==2,key:"5"},{default:o(()=>[i($,{"ok-text":"بله","cancel-text":"خیر",title:"آیا مطمئن هستید؟",onConfirm:a=>ae(t)},{default:o(()=>[l("div",Je,[i(_,{icon:t.sts===1?"vuesax-linear:tick-circle":"vuesax-linear:slash",size:"18",class:I(["cursor-pointer w-5 ml-1",t.sts===1?"text-success":"text-danger"])},null,8,["icon","class"]),l("div",null,m(t.sts===1?"معلق کردن سفارش":"فعال کردن سفارش"),1)])]),_:2},1032,["onConfirm"])]),_:2},1032,["disabled"])):v("",!0),s("persons.list.client.omde.able")?(u(),x(w,{disabled:t.sts_verify_step_one!==2,key:"6"},{default:o(()=>[i($,{"ok-text":"بله","cancel-text":"خیر",title:"آیا مطمئن هستید؟",onConfirm:a=>ie(t)},{default:o(()=>[l("div",Ke,[i(_,{icon:t.sts===1?"vuesax-linear:tick-circle":"vuesax-linear:slash",size:"18",class:I(["cursor-pointer w-5 ml-1",t.active===1?"text-success":"text-danger"])},null,8,["icon","class"]),l("div",null,m(t.active===1?"معلق کردن حساب کاربری":" فعال کردن حساب کاربری"),1)])]),_:2},1032,["onConfirm"])]),_:2},1032,["disabled"])):v("",!0)]),_:2},1032,["onClick"])]),default:o(()=>[l("div",Ve,[i(_,{icon:"vuesax-linear:arrow-down",size:"16"}),i(_,{icon:"vuesax-linear:setting-2",size:"16",class:"cursor-pointer w-5 ml-1"})])]),_:2},1024)])]),_:2},[d.showAddButton?{name:"add",fn:o(()=>[i(Te,{rid:"persons.create.client","add-label":"افزودن مشتری عمده",onAdd:ce})]),key:"0"}:void 0,Ce(P,t=>({name:t.slot,fn:o(({record:a})=>[a[t.field]===null||a[t.field]===void 0?(u(),b("span",Le,"—")):(u(),x(A,{key:1,title:a.acc_at?`بهروزرسانی: ${Q(a.acc_at)}`:void 0},{default:o(()=>[l("span",{class:I(J(a[t.field]))},m(K(a[t.field],t.places)),3)]),_:2},1032,["title"]))])}))]),1032,["model"]),i(pe,{open:h.value.open,title:"رد مدارک مشتری","ok-text":"ثبت رد","cancel-text":"انصراف","ok-button-props":{danger:!0},"confirm-loading":h.value.saving,onOk:ee,onCancel:n[2]||(n[2]=t=>h.value.open=!1)},{default:o(()=>[n[10]||(n[10]=l("p",null,"دلیل رد (اختیاری) — در پروندهی مشتری ثبت میشود.",-1)),i(ve,{value:h.value.reason,"onUpdate:value":n[1]||(n[1]=t=>h.value.reason=t),rows:3,maxlength:500,placeholder:"مثلاً: تصویر کارت ملی خوانا نیست"},null,8,["value"])]),_:1},8,["open","confirm-loading"]),d.showAddButton?(u(),x(je,{key:z.value??"new","as-modal":"",open:O.value,id:z.value,"onUpdate:open":n[3]||(n[3]=t=>O.value=t),onSuccess:n[4]||(n[4]=t=>{var a;return(a=C.value)==null?void 0:a.fetch()})},null,8,["open","id"])):v("",!0)]),_:2},[d.accountingSync?{name:"extra",fn:o(()=>[i(Ie,{endpoint:"admin/customers-omde/accounting-sync",onDone:n[0]||(n[0]=t=>{var a;return(a=C.value)==null?void 0:a.fetch()})})]),key:"0"}:void 0]),1032,["title"])])}}}),it=Se(Qe,[["__scopeId","data-v-985754e5"]]);export{Oe as O,it as a,ot as b};
|