- Rial wage and gram-debt arithmetic matched to the reference; order corrections keep debt in sync - Document confirm/un-confirm is a compare-and-swap (no double-applied cache under concurrency) - Settlement document and expert inputs validated (400 instead of 500) - Expert: edit / activate-deactivate own customers, adjust raw weights only - Made-to-order flow in the app, PreOrder.quantity migration - Order grids: customer column, sort keys; panel select search; pre-order quantity save - Rebuilt release artifacts Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2 lines
1.8 KiB
JavaScript
2 lines
1.8 KiB
JavaScript
import{d as B,b as o,c as i,f as I,e as r,p as f,I as m,t as g,g as y,h as u,v as C,_ as S}from"./index-6E0fX61D.js";const w=["disabled"],z=["src"],U={key:1,class:"siu__icon"},N={class:"siu__text"},T={key:2,class:"siu__badge"},V={key:0,class:"siu__error"},j=8*1024*1024,D=B({__name:"SingleImageUploader",props:{uploadText:{},purpose:{}},emits:["done"],setup(p,{emit:k}){const b=p,h=k,_=u(null),e=u(!1),a=u(null),l=u(null),c=u(null);async function x(d){var n;const t=d.target,s=(n=t.files)==null?void 0:n[0];if(t.value="",!!s){if(a.value=null,s.size>j){a.value="حجم فایل بیش از حد مجاز است (۸ مگابایت)";return}e.value=!0;try{const v=await C.uploadDocument(s,b.purpose);l.value=v.id,c.value=s.type.startsWith("image/")?URL.createObjectURL(s):null,h("done",v.id)}catch{a.value="بارگذاری انجام نشد. دوباره تلاش کنید.",l.value=null,c.value=null}finally{e.value=!1}}}return(d,t)=>(o(),i("div",{class:I(["siu",{"is-done":!!l.value,"is-error":!!a.value}])},[r("input",{ref_key:"input",ref:_,type:"file",accept:"image/jpeg,image/png,image/webp,application/pdf",class:"siu__input",onChange:x},null,544),r("button",{type:"button",class:"siu__box",disabled:e.value,onClick:t[0]||(t[0]=s=>{var n;return(n=_.value)==null?void 0:n.click()})},[c.value?(o(),i("img",{key:0,src:c.value,class:"siu__preview",alt:""},null,8,z)):(o(),i("span",U,[f(m,{icon:e.value?"vuesax-linear:refresh":"vuesax-linear:gallery-add",size:"26"},null,8,["icon"])])),r("span",N,g(e.value?"در حال بارگذاری…":l.value?"تغییر تصویر":p.uploadText),1),l.value&&!e.value?(o(),i("span",T,[f(m,{icon:"vuesax-linear:tick-circle",size:"16"})])):y("",!0)],8,w),a.value?(o(),i("p",V,g(a.value),1)):y("",!0)],2))}}),L=S(D,[["__scopeId","data-v-3a42e270"]]);export{L as S};
|