2 lines
1.9 KiB
JavaScript
2 lines
1.9 KiB
JavaScript
"use strict";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())});const t=require("../common/vendor.js"),r=require("../api/index.js"),o=t.defineStore("order",()=>{const o=t.ref([]),n=t.ref([]),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(exports,null,function*(){try{const e=yield r.orderApi.getOrders();o.value=e.map(i)}catch(e){console.error("Failed to load orders:",e)}});return{orders:o,currentOrderItems:n,loadOrders:d,addOrderItem:e=>{n.value.push(e)},clearCurrentItems:()=>{n.value=[]},createOrder:(t,o)=>e(exports,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==o?void 0:o.city,district:null==o?void 0:o.district,community:null==o?void 0:o.community,user:null==o?void 0:o.user},i=yield r.orderApi.addOrder(n);return i?(yield d(),i):null}catch(e){return console.error("Failed to create order:",e),null}}),updateOrder:t=>e(exports,null,function*(){try{yield r.orderApi.updateOrder(t),yield d()}catch(e){console.error("Failed to update order:",e)}}),deleteOrder:t=>e(exports,null,function*(){try{yield r.orderApi.deleteOrder(t),yield d()}catch(e){console.error("Failed to delete order:",e)}}),getOrder:t=>e(exports,null,function*(){return yield d(),o.value.find(e=>e.id===t)||null}),getTotalAmount:()=>n.value.reduce((e,t)=>e+(t.amount||0),0)}});exports.useOrderStore=o;
|