2 lines
5.6 KiB
JavaScript
2 lines
5.6 KiB
JavaScript
|
import{_ as k,a as f}from"./main-9b36f05f.js";import{a as n,o as h,c as V,w as a,b as o,d as i,_ as C,t as y,A as R,aa as D}from"./vendor-adef9cb4.js";const S={props:{docId:{type:Number,default:null}},data(){return{form:{date:"",rows:[{ref:null,refName:"",bd:"0",bs:"0",des:"",selectedAccounts:[]}]},hesabdariTables:[],totalBd:0,totalBs:0,error:null,headers:[{text:"حساب",value:"ref"},{text:"بدهکار",value:"bd"},{text:"بستانکار",value:"bs"},{text:"توضیحات",value:"des"},{text:"عملیات",value:"actions",sortable:!1}]}},mounted(){this.fetchHesabdariTables(),this.docId&&this.fetchDoc()},methods:{async fetchHesabdariTables(){var l,e,d;try{const t=await f.get("/api/hesabdari/tables");console.log("دیتای دریافتشده از API:",t.data),this.hesabdariTables=t.data.data}catch(t){console.error("خطا در دریافت حسابها:",((l=t.response)==null?void 0:l.data)||t.message),this.error="خطا در بارگذاری حسابها: "+(((d=(e=t.response)==null?void 0:e.data)==null?void 0:d.message)||"مشکل ناشناخته")}},async fetchDoc(){var l,e;try{const d=await f.get(`/api/hesabdari/doc/${this.docId}`);this.form.date=d.data.data.date,this.form.rows=d.data.data.rows.map(t=>({ref:t.ref.id,refName:t.ref.name,bd:t.bd,bs:t.bs,des:t.des,selectedAccounts:[{id:t.ref.id,name:t.ref.name}]})),this.calculateTotals()}catch(d){this.error="خطا در بارگذاری سند: "+(((e=(l=d.response)==null?void 0:l.data)==null?void 0:e.message)||"مشکل ناشناخته")}},addRow(){this.form.rows.push({ref:null,refName:"",bd:"0",bs:"0",des:"",selectedAccounts:[]})},removeRow(l){const e=this.form.rows.indexOf(l);e>=0&&(this.form.rows.splice(e,1),this.calculateTotals())},calculateTotals(){this.totalBd=this.form.rows.reduce((l,e)=>l+parseInt(e.bd||0),0),this.totalBs=this.form.rows.reduce((l,e)=>l+parseInt(e.bs||0),0)},selectAccount(l,e){if(e.length>0){const d=e[0];l.ref=d.id,l.refName=d.name,l.selectedAccounts=[d]}},async submitForm(){var e,d;if(this.error=null,this.totalBd!==this.totalBs){this.error="جمع بدهکار و بستانکار باید برابر باشد";return}const l={date:this.form.date,rows:this.form.rows.map(t=>({ref:t.ref,bd:t.bd,bs:t.bs,des:t.des}))};try{if(this.docId)await f.put(`/api/hesabdari/doc/${this.docId}`,l),this.$emit("saved","سند با موفقیت ویرایش شد");else{const t=await f.post("/api/hesabdari/doc",l);this.$emit("saved","سند با موفقیت ثبت شد",t.data.data.id)}}catch(t){this.error=((d=(e=t.response)==null?void 0:e.data)==null?void 0:d.message)||"خطا در ثبت سند"}}}};function F(l,e,d,t,c,m){const u=n("v-text-field"),p=n("v-col"),b=n("v-row"),x=n("v-toolbar-title"),w=n("v-spacer"),_=n("v-btn"),I=n("v-toolbar"),U=n("v-treeview"),B=n("v-menu"),g=n("v-data-table"),T=n("v-alert"),A=n("v-form"),N=n("v-container");return h(),V(N,null,{default:a(()=>[o(A,{onSubmit:D(m.submitForm,["prevent"])},{default:a(()=>[o(b,null,{default:a(()=>[o(p,{cols:"12",md:"6"},{default:a(()=>[o(u,{modelValue:c.form.date,"onUpdate:modelValue":e[0]||(e[0]=s=>c.form.date=s),label:"تاریخ (شمسی)",placeholder:"1403/02/28",rules:[s=>!!s||"تاریخ الزامی است"]},null,8,["modelValue","rules"])]),_:1})]),_:1}),o(g,{headers:c.headers,items:c.form.rows,class:"elevation-1","hide-default-footer":""},{top:a(()=>[o(I,{flat:""},{default:a(()=>[o(x,null,{default:a(()=>e[1]||(e[1]=[i("ردیفهای سند")])),_:1}),o(w),o(_,{color:"primary",onClick:m.addRow},{default:a(()=>e[2]||(e[2]=[i("افزودن ردیف")])),_:1},8,["onClick"])]),_:1})]),"item.ref":a(({item:s})=>[o(B,{"offset-y":""},{activator:a(({props:r})=>[o(u,C({modelValue:s.refName,"onUpdate:modelValue":v=>s.refName=v,label:"حساب",dense:"",readonly:""},r,{rules:[v=>!!s.ref||"حساب الزامی است"]}),null,16,["modelValue","onUpdate:modelValue","rules"])]),default:a(()=>[o(U,{items:c.hesabdariTables,"item-key":"id","item-text":"name","item-children":"children",selectable:"","return-object":"",modelValue:s.selectedAccounts,"onUpdate:modelValue":r=>s.selectedAccounts=r,"
|