2 lines
1.8 KiB
JavaScript
2 lines
1.8 KiB
JavaScript
var e=(e,t,r)=>new Promise((o,n)=>{var i=e=>{try{u(r.next(e))}catch(t){n(t)}},d=e=>{try{u(r.throw(e))}catch(t){n(t)}},u=e=>e.done?o(e.value):Promise.resolve(e.value).then(i,d);u((r=r.apply(e,t)).next())});import{h as t,x as r}from"./index-1_hDCvpq.js";import{o}from"./index.BSsNTT6m.js";const n=t("order",()=>{const t=r([]),n=r([]),i=e=>{const t=(e.items||[]).map(e=>({category:e.category,name:e.name,weight:e.weight,count:e.count,unit:e.unit,price:e.price,amount:void 0!==e.amount?e.amount:(e.weight||e.count||0)*(e.price||0)})),r=void 0!==e.totalAmount?e.totalAmount:t.reduce((e,t)=>e+(t.amount||0),0);return{id:e.id,items:t,totalAmount:r,createTime:e.createTime,status:e.status||"pending",city:e.city,district:e.district,community:e.community,user:e.user}},d=()=>e(void 0,null,function*(){try{const e=yield o.getOrders();t.value=e.map(i)}catch(e){console.error("Failed to load orders:",e)}});return{orders:t,currentOrderItems:n,loadOrders:d,addOrderItem:e=>{n.value.push(e)},clearCurrentItems:()=>{n.value=[]},createOrder:(t,r)=>e(void 0,null,function*(){try{const e=t.reduce((e,t)=>e+(t.amount||0),0),n={id:"",items:t,totalAmount:e,createTime:(new Date).toISOString(),status:"pending",city:null==r?void 0:r.city,district:null==r?void 0:r.district,community:null==r?void 0:r.community,user:null==r?void 0:r.user},i=yield o.addOrder(n);return i?(yield d(),i):null}catch(e){return console.error("Failed to create order:",e),null}}),updateOrder:t=>e(void 0,null,function*(){try{yield o.updateOrder(t),yield d()}catch(e){console.error("Failed to update order:",e)}}),deleteOrder:t=>e(void 0,null,function*(){try{yield o.deleteOrder(t),yield d()}catch(e){console.error("Failed to delete order:",e)}}),getOrder:r=>e(void 0,null,function*(){return yield d(),t.value.find(e=>e.id===r)||null}),getTotalAmount:()=>n.value.reduce((e,t)=>e+(t.amount||0),0)}});export{n as u};
|