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