2 lines
7.6 KiB
JavaScript
2 lines
7.6 KiB
JavaScript
var l=(l,a,e)=>new Promise((t,u)=>{var s=l=>{try{o(e.next(l))}catch(a){u(a)}},n=l=>{try{o(e.throw(l))}catch(a){u(a)}},o=l=>l.done?t(l.value):Promise.resolve(l.value).then(s,n);o((e=e.apply(l,a)).next())});import{g as a,x as e,c as t,r as u,s,t as n,a as o,K as c,k as i,u as r,f as d,p as v,J as p,l as f,e as _,H as m,I as k,m as g,o as b,E as y,D as h,C,j as x,n as F}from"./index-9cLnSON3.js";import{u as V}from"./price.H18EVMW8.js";import{u as q}from"./bluetooth.O_XXdMxU.js";import{u as w}from"./order.BwfaMoOt.js";import{u as j}from"./region.PrkYRPPp.js";import{_ as P}from"./_plugin-vue_export-helper.BCo6x5W8.js";import"./index.B1CPOqvB.js";const I=P(a({__name:"weigh",setup(a){const P=V(),I=q(),N=w(),$=j(),S=e(""),U=e(0),W=e(0),z=e(""),B=e("manual"),D=e(""),E=e("");e([]);const H=t(()=>P.getPriceByCategory(S.value)),J=t(()=>{if(!H.value)return 0;const l="kg"===H.value.unit?"bluetooth"===B.value?U.value:parseFloat(D.value)||0:W.value,a=parseFloat(E.value)||H.value.price||0;return Number((l*a).toFixed(2))});u(a=>l(this,null,function*(){(null==a?void 0:a.category)&&(S.value=a.category),E.value=$.lastPrice||"",yield P.loadPrices(),I.init()}));const K=()=>{b({url:"/pages/bluetooth/bluetooth"})},L=()=>{I.resetWeight(),U.value=0},M=()=>{W.value>0&&(W.value--,z.value=W.value.toString())},O=()=>{W.value++,z.value=W.value.toString()},R=()=>{const l=parseInt(z.value)||0;W.value=Math.max(0,l)},T=l=>{W.value+=l,z.value=W.value.toString()},A=l=>{B.value=l,"manual"===l&&(D.value=U.value>0?U.value.toString():"")},G=()=>{const l=D.value.trim();if(l.includes("+")){const a=l.split("+");let e=0,t=!0;for(const l of a){const a=parseFloat(l.trim());if(isNaN(a)||!(a>=0)){t=!1;break}e+=a}U.value=t?e:0}else{const a=parseFloat(l);!isNaN(a)&&a>=0?U.value=a:U.value=0}},Q=l=>{const a=parseFloat(D.value)||0;D.value=(a+l).toFixed(3),G()},X=()=>l(this,null,function*(){if(!H.value)return void y({title:"请选择回收种类",icon:"none"});const a="kg"===H.value.unit?"bluetooth"===B.value?U.value:parseFloat(D.value)||0:W.value;if(a<=0)return void y({title:"kg"===H.value.unit?"请输入重量":"请输入数量",icon:"none"});const e={category:H.value.category,name:H.value.name,weight:"kg"===H.value.unit?a:void 0,count:"piece"===H.value.unit?W.value:void 0,unit:H.value.unit,price:parseFloat(E.value)||H.value.price,amount:J.value,icon:H.value.icon};h({title:"确认回收",content:`确定回收${H.value.name} ${a}${"kg"===H.value.unit?"kg":"个"},金额¥${J.value.toFixed(2)}?`,success:a=>l(this,null,function*(){if(a.confirm){C({title:"保存中..."});const l=$.getRegion(),a=yield N.createOrder([e],l);x(),a?($.setLastPrice(E.value),y({title:"回收成功",icon:"success"}),setTimeout(()=>{F()},1500)):y({title:"保存失败",icon:"none"})}})})});return s(()=>{const l=()=>{U.value=I.currentWeight};I.$subscribe(()=>{l()}),l()}),n(()=>{P.loadPrices()}),(l,a)=>{const e=f,t=i,u=k,s=g;return r(),o(t,{class:"container"},{default:c(()=>{var l;return[d(t,{class:"status-bar"},{default:c(()=>[d(t,{class:v(["bluetooth-status",{connected:p(I).isConnected}])},{default:c(()=>[d(e,{class:"status-icon"},{default:c(()=>[_(m(p(I).isConnected?"🔵":"⚪"),1)]),_:1}),d(e,null,{default:c(()=>[_(m(p(I).isConnected?"已连接":"未连接"),1)]),_:1})]),_:1},8,["class"])]),_:1}),"kg"===(null==(l=H.value)?void 0:l.unit)?(r(),o(t,{key:0,class:"display-card"},{default:c(()=>[d(t,{class:"price-input-wrap"},{default:c(()=>[d(e,{class:"price-label"},{default:c(()=>[_("单价")]),_:1}),d(t,{class:"price-input"},{default:c(()=>[d(e,{class:"price-symbol"},{default:c(()=>[_("¥")]),_:1}),d(u,{type:"digit",modelValue:E.value,"onUpdate:modelValue":a[0]||(a[0]=l=>E.value=l),placeholder:"请输入单价",class:"price-input-field"},null,8,["modelValue"]),d(e,{class:"price-unit"},{default:c(()=>{var l;return[_("/"+m("kg"===(null==(l=H.value)?void 0:l.unit)?"kg":"个"),1)]}),_:1})]),_:1})]),_:1}),d(t,{class:"mode-switch"},{default:c(()=>[d(t,{class:v(["mode-btn",{active:"bluetooth"===B.value}]),onClick:a[1]||(a[1]=l=>A("bluetooth"))},{default:c(()=>[d(e,null,{default:c(()=>[_("蓝牙称重")]),_:1})]),_:1},8,["class"]),d(t,{class:v(["mode-btn",{active:"manual"===B.value}]),onClick:a[2]||(a[2]=l=>A("manual"))},{default:c(()=>[d(e,null,{default:c(()=>[_("手动输入")]),_:1})]),_:1},8,["class"])]),_:1}),"bluetooth"===B.value?(r(),o(t,{key:0,class:"display-value-wrap"},{default:c(()=>[d(e,{class:"display-value"},{default:c(()=>[_(m(U.value.toFixed(2)),1)]),_:1}),d(e,{class:"display-unit"},{default:c(()=>[_("kg")]),_:1})]),_:1})):(r(),o(t,{key:1,class:"manual-input"},{default:c(()=>[d(u,{type:"text",modelValue:D.value,"onUpdate:modelValue":a[3]||(a[3]=l=>D.value=l),placeholder:"请输入重量(支持2+3+5)",onInput:G},null,8,["modelValue"]),d(e,{class:"input-unit"},{default:c(()=>[_("kg")]),_:1})]),_:1})),"bluetooth"===B.value?(r(),o(t,{key:2,class:"control-row"},{default:c(()=>[d(t,{class:"control-btn",onClick:K},{default:c(()=>[d(s,{class:"control-icon-img",src:"./static/icons/bluetooth.png",mode:"aspectFit"}),d(e,null,{default:c(()=>[_("蓝牙连接")]),_:1})]),_:1}),d(t,{class:"control-btn",onClick:L},{default:c(()=>[d(s,{class:"control-icon-img",src:"./static/icons/zero.png",mode:"aspectFit"}),d(e,null,{default:c(()=>[_("归零")]),_:1})]),_:1})]),_:1})):(r(),o(t,{key:3,class:"quick-input"},{default:c(()=>[d(t,{class:"quick-btn",onClick:a[4]||(a[4]=l=>Q(.5))},{default:c(()=>[_("+0.5kg")]),_:1}),d(t,{class:"quick-btn",onClick:a[5]||(a[5]=l=>Q(1))},{default:c(()=>[_("+1kg")]),_:1}),d(t,{class:"quick-btn",onClick:a[6]||(a[6]=l=>Q(2))},{default:c(()=>[_("+2kg")]),_:1}),d(t,{class:"quick-btn",onClick:a[7]||(a[7]=l=>Q(5))},{default:c(()=>[_("+5kg")]),_:1})]),_:1}))]),_:1})):(r(),o(t,{key:1,class:"display-card"},{default:c(()=>[d(t,{class:"price-input-wrap"},{default:c(()=>[d(e,{class:"price-label"},{default:c(()=>[_("单价")]),_:1}),d(t,{class:"price-input"},{default:c(()=>[d(e,{class:"price-symbol"},{default:c(()=>[_("¥")]),_:1}),d(u,{type:"digit",modelValue:E.value,"onUpdate:modelValue":a[8]||(a[8]=l=>E.value=l),placeholder:"请输入单价",class:"price-input-field"},null,8,["modelValue"]),d(e,{class:"price-unit"},{default:c(()=>{var l;return[_("/"+m("kg"===(null==(l=H.value)?void 0:l.unit)?"kg":"个"),1)]}),_:1})]),_:1})]),_:1}),d(t,{class:"display-icon"},{default:c(()=>[_("🥫")]),_:1}),d(t,{class:"display-title"},{default:c(()=>[_("个数统计")]),_:1}),d(t,{class:"manual-input"},{default:c(()=>[d(u,{type:"number",modelValue:z.value,"onUpdate:modelValue":a[9]||(a[9]=l=>z.value=l),placeholder:"请输入数量",onInput:R},null,8,["modelValue"]),d(e,{class:"input-unit"},{default:c(()=>[_("个")]),_:1})]),_:1}),d(t,{class:"count-controls"},{default:c(()=>[d(t,{class:"count-btn minus",onClick:M},{default:c(()=>[d(e,null,{default:c(()=>[_("-")]),_:1})]),_:1}),d(t,{class:"count-btn plus",onClick:O},{default:c(()=>[d(e,null,{default:c(()=>[_("+")]),_:1})]),_:1})]),_:1}),d(t,{class:"quick-input"},{default:c(()=>[d(t,{class:"quick-btn",onClick:a[10]||(a[10]=l=>T(1))},{default:c(()=>[_("+1")]),_:1}),d(t,{class:"quick-btn",onClick:a[11]||(a[11]=l=>T(5))},{default:c(()=>[_("+5")]),_:1}),d(t,{class:"quick-btn",onClick:a[12]||(a[12]=l=>T(10))},{default:c(()=>[_("+10")]),_:1}),d(t,{class:"quick-btn",onClick:a[13]||(a[13]=l=>T(50))},{default:c(()=>[_("+50")]),_:1})]),_:1})]),_:1})),d(t,{class:"amount-card"},{default:c(()=>[d(t,{class:"amount-title"},{default:c(()=>[_("💰 预估金额")]),_:1}),d(t,{class:"amount-value-wrap"},{default:c(()=>[d(e,{class:"amount-currency"},{default:c(()=>[_("¥")]),_:1}),d(e,{class:"amount-num"},{default:c(()=>[_(m(J.value.toFixed(2)),1)]),_:1})]),_:1})]),_:1}),d(t,{class:"confirm-btn",onClick:X},{default:c(()=>[d(e,null,{default:c(()=>[_("确认回收")]),_:1})]),_:1})]}),_:1})}}}),[["__scopeId","data-v-4eba02aa"]]);export{I as default};
|