2 lines
2.5 KiB
JavaScript
2 lines
2.5 KiB
JavaScript
"use strict";const e=require("../common/vendor.js"),t=require("../api/product.js"),n=require("../store/cart.js"),i=e.defineComponent({__name:"SpecPanel",props:{productId:{}},emits:["close"],setup(i,{emit:a}){const o=i,l=a,s=e.ref(null),u=e.ref(!1),r=e.ref(!1),c=e.ref([]),d=e.ref(new Map),v=n.useCartStore(),g=e.reactive({fineness:"",mainStone:"",ringSize:""});function S(e,t){g[e]=g[e]===t?"":t,f()}function m(){0!==d.value.size&&(d.value.forEach((e=>{v.addToCart({id:Date.now()+e.id,userId:0,productId:o.productId,specDataId:e.id,quantity:1,product:{},specData:e,checked:!0})})),e.index.showToast({title:`已加入${d.value.size}件`,icon:"success"}),d.value=new Map,l("close"))}async function f(){r.value=!0;try{c.value=await t.getSpecDataList(o.productId,{fineness:g.fineness||void 0,mainStone:g.mainStone||void 0,ringSize:g.ringSize||void 0})}catch{}finally{r.value=!1}}return e.onMounted((async()=>{u.value=!0;try{s.value=await t.getProductSpecs(o.productId)}catch{}finally{u.value=!1}f()})),(t,n)=>e.e({a:u.value},u.value?{}:s.value?e.e({c:s.value.fineness.length},s.value.fineness.length?{d:e.f(s.value.fineness,((t,n,i)=>({a:e.t(t),b:t,c:g.fineness===t?1:"",d:e.o((e=>S("fineness",t)),t)})))}:{},{e:s.value.mainStone.length},s.value.mainStone.length?{f:e.f(s.value.mainStone,((t,n,i)=>({a:e.t(t),b:t,c:g.mainStone===t?1:"",d:e.o((e=>S("mainStone",t)),t)})))}:{},{g:s.value.ringSize.length},s.value.ringSize.length?{h:e.f(s.value.ringSize,((t,n,i)=>({a:e.t(t),b:t,c:g.ringSize===t?1:"",d:e.o((e=>S("ringSize",t)),t)})))}:{}):{},{b:s.value,i:r.value},r.value?{}:c.value.length?{k:e.f(c.value,((t,n,i)=>e.e({a:e.t(t.modelName),b:e.t(t.fineness),c:t.mainStone},t.mainStone?{d:e.t(t.mainStone)}:{},{e:t.ringSize},t.ringSize?{f:e.t(t.ringSize)}:{},{g:e.t(t.goldTotalWeight),h:e.t(t.goldNetWeight),i:e.t(t.loss),j:e.t(t.goldLoss),k:e.t(t.goldPrice),l:e.t(t.goldValue),m:e.t(t.mainStoneCount),n:e.t(t.mainStoneWeight),o:e.t(t.mainStoneUnitPrice),p:e.t(t.mainStoneAmount),q:e.t(t.sideStoneCount),r:e.t(t.sideStoneWeight),s:e.t(t.sideStoneUnitPrice),t:e.t(t.sideStoneAmount),v:e.t(t.accessoryAmount),w:e.t(t.processingFee),x:e.t(t.settingFee),y:e.t(t.totalLaborCost),z:e.t(t.totalPrice),A:t.id,B:d.value.has(t.id)?1:"",C:e.o((e=>function(e){d.value.has(e.id)?d.value.delete(e.id):d.value.set(e.id,e),d.value=new Map(d.value)}(t)),t.id)})))}:{},{j:c.value.length,l:d.value.size},d.value.size?{m:e.t(d.value.size)}:{},{n:0===d.value.size?1:"",o:e.o(m),p:e.o((()=>{})),q:e.o((e=>t.$emit("close")))})}}),a=e._export_sfc(i,[["__scopeId","data-v-0e22571c"]]);wx.createComponent(a);
|