2 lines
6.7 KiB
JavaScript
2 lines
6.7 KiB
JavaScript
import{_ as ce,r as o,u as ue,G as ie,o as re,m,a as de,b as E,l as ve,c as h,d as G,w as k,e as s,s as z,g as x,t as F,v as fe,h as w,f as C,p as _e,F as pe,i as ye,n as B,E as r,y as me,z as he}from"./index-DhxPMYiX.js";import{f as W,g as ke}from"./store-Bz99DLdk.js";/* empty css */const S=P=>(me("data-v-cd8f0f21"),P=P(),he(),P),ge=S(()=>s("h4",null,"选择支付方式",-1)),be={class:"dra-body"},we={class:"header"},Ce=S(()=>s("div",{style:{color:"#999",padding:"2rem 0 0.3rem 0"}},"应收金额(元):",-1)),xe={style:{color:"#f5222d","padding-bottom":"2rem"}},Se={style:{"font-size":"1.6rem"}},Ve={key:0,"element-loading-text":"支付中",class:"card1"},Ee=S(()=>s("div",{class:"tips"},null,-1)),Pe={key:1,class:"card2"},$e={class:"drawer-body"},Fe={class:"counter"},Be={class:"received"},De={key:0},Le={key:1,style:{"font-size":"1rem",color:"#999"}},Te={key:0,class:"balance"},je={class:"money"},ze=S(()=>s("div",{class:"tips"},"按回车(Enter)确认支付",-1)),Re={key:1,class:"balance"},Ae=S(()=>s("div",null,"不够找零, 请支付更多金额",-1)),Ie=S(()=>s("div",{class:"tips"},"按下小键盘输入金额",-1)),Ne=[Ae,Ie],Ue={class:"keypad"},Ke={class:"left"},Me={class:"right"},Oe={style:{width:"100%",display:"flex","justify-content":"center"}},Ge={__name:"pay",emits:["paySuccess"],setup(P,{expose:q,emit:H}){const i=o(!1),d=o(1),l=o(""),v=o("");ue();const J=()=>{_()},Q=()=>{B(()=>{setTimeout(()=>{var a;p.value=!1,l.value="",R.value=!0,(a=v.value)==null||a.focus(),g(d.value)},300)})},g=a=>{d.value=a,d.value==2?window.addEventListener("keydown",j):(window.removeEventListener("keydown",j),B(()=>{var e;l.value="",(e=v.value)==null||e.focus()}))},f=o({}),D=o([]),L=o(!1),X=a=>{f.value=a.data,D.value=a.cart_id,L.value=a.isRePay||!1},Y=a=>{f.value.total=a.price,ae.value=a.order_id},Z=H,R=o(!1),ee=o(["1","2","3","4","5","6","7","8","9","0","00","."]),A=/^(10|11|12|13|14|15)\d{16}$/,I=/^(25|26|27|28|29|30)\d{14,22}$/,ae=o(""),se=()=>{if(p.value=!0,v.value.blur(),L.value)N();else{let a;if(A.test(l.value))a="9";else if(I.test(l.value))a="13";else return p.value=!1,l.value="",v.value.focus(),r.error("请输入正确的支付码");W({key:f.value.key,cart_id:D.value,pay_type:a,auth_code:l.value}).then(e=>{e.data.out_trade_no&&e.msg=="支付成功"?(i.value=!1,r({message:"支付成功",type:"success"}),_(e.data)):e.msg=="用户支付中"&&e.code==1&&(r.warning(e.msg),m.on("pay_success",t=>{r({message:"支付成功",type:"success"}),setTimeout(()=>{m.off("pay_success")},200),i.value=!1,_(t)}))}).catch(e=>{p.value=!1,B(()=>{var t;(t=v.value)==null||t.focus()})})}},N=()=>{let a=17;if(d.value==1)if(A.test(l.value))a="9";else if(I.test(l.value))a="13";else return p.value=!1,l.value="",v.value.focus(),r.error("请输入正确的支付码");ke({order_id:f.value.order_id,pay_type:a,auth_code:l.value}).then(e=>{var t;(t=e.msg)!=null&&t.includes("成功")?(i.value=!1,r({message:"支付成功",type:"success"}),_()):e.msg=="用户支付中"&&e.code==1&&(r.warning(e.msg),m.on("pay_success",b=>{r({message:"支付成功",type:"success"}),setTimeout(()=>{m.off("pay_success")},200),i.value=!1,_(b)}))}).catch(e=>{l.value="",p.value=!1,B(()=>{var t;(t=v.value)==null||t.focus()})})};o(0);const _=a=>{var e;window.removeEventListener("keydown",j),R.value=!1,p.value=!1,l.value="",n.value="",y.value=[],(e=v.value)==null||e.blur(),Z("paySuccess",a),i.value=!1},p=o(!1);q({drawer:i,setForm:X,setRePay:Y,beforeClose:_});const y=o([]),n=o(""),V=ie(()=>+n.value>0?(n.value-f.value.total).toFixed(2):-1),U=o(!1),T=a=>{a===-1?y.value=[]:y.value.pop(),n.value=y.value.length?y.value.join(""):0},c=a=>{U.value===!1&&(n.value="",U.value=!0);let e=String(n.value).indexOf(".")+1,t=String(n.value).length-e;console.log(e,t),(e===0||t<2)&&(y.value.join("")<=9999999&&y.value.push(a),n.value=y.value.join("")>99999999?99999999:y.value.join(""))},K=()=>{if(V.value===""||V.value===null||V.value===void 0||+n.value<+f.value.total)return r.error("收款金额应该大于等于应收金额");L.value?N():W({cart_id:D.value,pay_type:"17"}).then(a=>{i.value=!1,r({message:a.msg,type:"success"}),g(1),_()}).catch(a=>{p.value=!1})},j=a=>{let t=(a||window.event).keyCode;if(t==37)return g(2);if(t==120)return m.emit("F9");if(t==27)return _();switch(a.stopPropagation(),a.preventDefault(),t){case 96:case 48:c(0);break;case 97:case 49:c(1);break;case 98:case 50:c(2);break;case 99:case 51:c(3);break;case 100:case 52:c(4);break;case 101:case 53:c(5);break;case 102:case 54:c(6);break;case 103:case 55:c(7);break;case 104:case 56:c(8);break;case 105:case 57:c(9);break;case 110:c(".");break;case 190:c(".");break;case 8:T();break;case 13:K();break}},$=o(!1),M=()=>{if(!(!i.value||$.value&&l.value.length>0)&&d.value==2)return g(1)},O=()=>{if(!(!i.value||$.value&&l.value.length>0)&&d.value==1)return g(2)};return re(()=>{m.on("left",M),m.on("right",O)}),de(()=>{m.off("left",M),m.off("right",O)}),(a,e)=>{const t=E("el-input"),b=E("el-button"),te=E("Delete"),le=E("el-icon"),oe=E("el-drawer"),ne=ve("loading");return h(),G(oe,{size:"60rem",modelValue:i.value,"onUpdate:modelValue":e[6]||(e[6]=u=>i.value=u),direction:"rtl",onOpen:Q,"before-close":_},{header:k(()=>[ge]),default:k(()=>[s("div",be,[s("div",we,[s("div",{class:z(["left",{active:d.value==1}]),onClick:e[0]||(e[0]=u=>g(1))}," 微信/支付宝 ",2),s("div",{class:z(["right",{active:d.value==2}]),onClick:e[1]||(e[1]=u=>g(2))}," 现金收款 ",2)]),Ce,s("div",xe,[x(" ¥"),s("span",Se,F(f.value.pay_price),1)]),d.value==1?fe((h(),w("div",Ve,[C(t,{ref_key:"codeRef",ref:v,modelValue:l.value,"onUpdate:modelValue":e[2]||(e[2]=u=>l.value=u),autofocus:"",class:"code-input",placeholder:"请点击输入框聚焦扫码或输入编码号",onKeyup:_e(se,["enter"]),onFocus:e[3]||(e[3]=u=>$.value=!0),onBlur:e[4]||(e[4]=u=>$.value=!1)},null,8,["modelValue"]),Ee])),[[ne,p.value]]):(h(),w("div",Pe,[s("div",$e,[s("div",Fe,[s("div",Be,[n.value?(h(),w("span",De,F(n.value),1)):(h(),w("span",Le,"按下键盘输入客户支付金额"))]),V.value>=0?(h(),w("div",Te,[s("div",null,[x(" 需找零(元):"),s("span",je,"¥"+F(V.value),1)]),ze])):(h(),w("div",Re,Ne)),s("div",Ue,[s("div",Ke,[(h(!0),w(pe,null,ye(ee.value,u=>(h(),G(b,{key:u,onClick:We=>c(u)},{default:k(()=>[x(F(u),1)]),_:2},1032,["onClick"]))),128))]),s("div",Me,[C(b,{onClick:T},{default:k(()=>[C(le,null,{default:k(()=>[C(te)]),_:1})]),_:1}),C(b,{onClick:e[5]||(e[5]=u=>T(-1))},{default:k(()=>[x("C")]),_:1}),C(b,{class:z(["enter",{"enter-disable":+n.value<+f.value.total}]),disabled:+n.value<+f.value.total,onClick:K},{default:k(()=>[x(" 确认 ")]),_:1},8,["class","disabled"])])])])])]))])]),footer:k(()=>[s("div",Oe,[C(b,{class:"cancel-btn",onClick:J},{default:k(()=>[x("取消收款")]),_:1})])]),_:1},8,["modelValue"])}}},Qe=ce(Ge,[["__scopeId","data-v-cd8f0f21"]]);export{Qe as p};
|