DiscountPopup.87c1ae91.js 6.2 KB

1
  1. import{_ as B,s as D,r as $,p as x,c as P,e as c,k as N,i as g,g as e,h as S,t as l,f as u,A as V,H as y,m as v,F as b,j as E,u as M,q as j,E as k,R as A,S as I}from"./index.0308b213.js";const r=_=>(A("data-v-57c13a87"),_=_(),I(),_),R={class:"discount-container"},T={class:"item-info"},z=["src"],H={class:"item-details"},K={class:"item-title"},L={key:0,class:"item-spec"},O=r(()=>e("span",{class:"spec-label"},"\u89C4\u683C:",-1)),Q={class:"spec-value"},U={class:"item-price"},G=r(()=>e("span",{class:"price-label"},"\u5355\u4EF7:",-1)),J={class:"price-value"},W={class:"item-quantity"},X=r(()=>e("span",{class:"quantity-label"},"\u5F53\u524D\u6570\u91CF:",-1)),Y={class:"quantity-value"},Z={class:"discount-tabs"},ee={class:"discount-input"},se={class:"amount"},te={key:0,class:"quick-discount"},ie=r(()=>e("div",{class:"quick-discount-label"},"\u5E38\u7528\u6298\u6263\uFF1A",-1)),oe={class:"quick-discount-buttons"},ne={class:"keyboard"},ae=["onClick"],le={class:"discount-preview"},ce=r(()=>e("p",{class:"preview-label"},"\u6253\u6298\u540E\u6548\u679C\u9884\u89C8:",-1)),ue={class:"preview-result"},re={class:"preview-row"},de=r(()=>e("span",{class:"preview-item"},"\u539F\u5355\u4EF7:",-1)),pe={class:"preview-value"},ve={class:"preview-row"},_e=r(()=>e("span",{class:"preview-item"},"\u6298\u540E\u5355\u4EF7:",-1)),me={key:0,class:"preview-value"},fe={class:"discount-tag-preview"},ke={key:1,class:"preview-value"},we={class:"discount-tag-preview"},he={class:"preview-row"},ge=r(()=>e("span",{class:"preview-item"},"\u539F\u603B\u4EF7:",-1)),ye={class:"preview-value"},be={class:"preview-row"},Ce=r(()=>e("span",{class:"preview-item"},"\u6298\u540E\u603B\u4EF7:",-1)),Fe={key:0,class:"preview-value"},$e={key:1,class:"preview-value"},xe={class:"dialog-footer"},Pe=v("\u53D6\u6D88"),Se=v("\u786E\u8BA4\u6298\u6263"),Ve={props:{show:{type:Boolean,default:!1},item:{type:Object,required:!0}},emits:["update:show","apply-discount"],setup(_,{emit:C}){const o=_,m=D({get:()=>o.show,set:i=>C("update:show",i)}),a=$("percent"),t=$("");x(a,()=>{t.value=""}),x(()=>o.item,i=>{i&&i.discount&&i.discount<100?(a.value="percent",t.value=i.discount.toString()):(a.value="percent",t.value="100")},{immediate:!0});function f(i){typeof i=="string"?i==="del"?t.value=t.value.slice(0,-1):i==="clear"?t.value="":i==="."?t.value.includes(".")||(t.value+="."):i==="00"&&(t.value+="00"):typeof i=="number"&&(t.value+=i.toString());const s=t.value.split(".");if(s.length>1&&s[1].length>2&&(t.value=s[0]+"."+s[1].substring(0,2)),a.value==="percent")(parseFloat(t.value)||0)>100&&(k.warning("\u6298\u6263\u6BD4\u4F8B\u4E0D\u80FD\u8D85\u8FC7100%"),t.value="100");else if(a.value==="amount"){const d=parseFloat(t.value)||0,w=o.item.price;d>w&&(k.warning("\u51CF\u514D\u91D1\u989D\u4E0D\u80FD\u8D85\u8FC7\u539F\u4EF7"),t.value=w.toString())}}function q(){if(!t.value||parseFloat(t.value)===0)return 0;const i=parseFloat(t.value),s=o.item.price;return s===0?0:Math.round(i/s*100)}const F=()=>{if(!t.value){k.warning(a.value==="percent"?"\u8BF7\u8F93\u5165\u6298\u6263\u6BD4\u4F8B":"\u8BF7\u8F93\u5165\u51CF\u514D\u540E\u5355\u4EF7");return}let i;if(a.value==="percent"){if(i=parseFloat(t.value),i<=0||i>100){k.warning("\u8BF7\u8F93\u5165\u6709\u6548\u7684\u6298\u6263\u6BD4\u4F8B(1-100)");return}}else{const s=parseFloat(t.value),d=o.item.price;if(s<=0||s>d){k.warning("\u8BF7\u8F93\u5165\u6709\u6548\u7684\u51CF\u514D\u540E\u5355\u4EF7");return}i=Math.round(s/d*100)}C("apply-discount",{itemId:o.item.id,discount:i}),m.value=!1};function p(i){t.value=i.toString()}return(i,s)=>{const d=P("el-button"),w=P("el-dialog");return c(),N(w,{modelValue:M(m),"onUpdate:modelValue":s[14]||(s[14]=n=>j(m)?m.value=n:null),title:"\u83DC\u54C1\u6253\u6298",width:"450px","destroy-on-close":!0},{footer:g(()=>[e("span",xe,[S(d,{onClick:s[13]||(s[13]=n=>m.value=!1)},{default:g(()=>[Pe]),_:1}),S(d,{type:"primary",onClick:F},{default:g(()=>[Se]),_:1})])]),default:g(()=>[e("div",R,[e("div",T,[e("img",{src:o.item.thumb,class:"item-thumb",alt:"\u5546\u54C1\u56FE\u7247"},null,8,z),e("div",H,[e("div",K,l(o.item.title),1),o.item.option_name?(c(),u("div",L,[O,e("span",Q,l(o.item.option_name),1)])):V("",!0),e("div",U,[G,e("span",J,"\uFFE5"+l(o.item.price),1)]),e("div",W,[X,e("span",Y,"\xD7 "+l(o.item.num),1)])])]),e("div",Z,[e("div",{class:y({active:a.value==="amount"}),onClick:s[0]||(s[0]=n=>a.value="amount")}," \u6298\u540E\u4EF7\u683C ",2),e("div",{class:y({active:a.value==="percent"}),onClick:s[1]||(s[1]=n=>a.value="percent")}," \u5546\u54C1\u6253\u6298 ",2)]),e("div",ee,[e("div",se,[a.value==="percent"?(c(),u(b,{key:0},[v(l(t.value)+"%",1)],64)):(c(),u(b,{key:1},[v("\uFFE5"+l(t.value),1)],64))]),a.value==="percent"?(c(),u("div",te,[ie,e("div",oe,[e("div",{class:"discount-btn",onClick:s[2]||(s[2]=n=>p(95))},"95\u6298"),e("div",{class:"discount-btn",onClick:s[3]||(s[3]=n=>p(90))},"9\u6298"),e("div",{class:"discount-btn",onClick:s[4]||(s[4]=n=>p(88))},"88\u6298"),e("div",{class:"discount-btn",onClick:s[5]||(s[5]=n=>p(80))},"8\u6298"),e("div",{class:"discount-btn",onClick:s[6]||(s[6]=n=>p(70))},"7\u6298"),e("div",{class:"discount-btn",onClick:s[7]||(s[7]=n=>p(50))},"5\u6298")])])):V("",!0),e("div",ne,[(c(),u(b,null,E(10,(n,h)=>e("div",{class:y(`key-${h}`),key:h,onClick:qe=>f(h)},l(h),11,ae)),64)),e("div",{class:"key-00",onClick:s[8]||(s[8]=n=>f("00"))},"00"),e("div",{class:"key-point",onClick:s[9]||(s[9]=n=>f("."))},"."),e("div",{class:"key-del",onClick:s[10]||(s[10]=n=>f("del"))},"\u5220\u9664"),e("div",{class:"key-clear",onClick:s[11]||(s[11]=n=>f("clear"))},"\u6E05\u7A7A"),e("div",{class:"key-enter",onClick:s[12]||(s[12]=n=>F())}," \u786E\u8BA4 ")])]),e("div",le,[ce,e("div",ue,[e("p",re,[de,e("span",pe,"\uFFE5"+l(o.item.price),1)]),e("p",ve,[_e,a.value==="percent"?(c(),u("span",me,[v(" \uFFE5"+l((o.item.price*parseFloat(t.value||100)/100).toFixed(2))+" ",1),e("span",fe,l(t.value||100)+"%",1)])):(c(),u("span",ke,[v(" \uFFE5"+l(parseFloat(t.value||0).toFixed(2))+" ",1),e("span",we,l(q())+"% ",1)]))]),e("p",he,[ge,e("span",ye,"\uFFE5"+l((o.item.price*o.item.num).toFixed(2)),1)]),e("p",be,[Ce,a.value==="percent"?(c(),u("span",Fe," \uFFE5"+l((o.item.price*parseFloat(t.value||100)/100*o.item.num).toFixed(2)),1)):(c(),u("span",$e," \uFFE5"+l((parseFloat(t.value||0)*o.item.num).toFixed(2)),1))])])])])]),_:1},8,["modelValue"])}}},De=B(Ve,[["__scopeId","data-v-57c13a87"]]);export{De as default};