2 lines
13 KiB
JavaScript
2 lines
13 KiB
JavaScript
var e=Object.defineProperty;import{r as a,a as t,o as s,c as l,w as r,b as i,s as o,x as n,E as u,k as d,aW as c,aX as p,d as h,z as m,aN as f,A as y,a8 as _,ad as b,N as w,a5 as v,e as g,F as x,f as C,l as S,t as D,g as k,af as I,aY as z,aZ as A,aw as N,H as P,a1 as $,m as j,W as E,aa as V,I as L,y as U,i as F}from"./index.fe40b928.js";import{_ as R}from"./u-button.027407c6.js";import{_ as O,a as W,b as B,g as H,p as T}from"./pay.20e051ec.js";import{_ as X}from"./u-icon.ecff0a89.js";import{_ as q}from"./plugin-vue_export-helper.21dcd24c.js";import{E as M}from"./emitter.5b880544.js";import{_ as G}from"./u-popup.3445ccd1.js";import{w as Y,u as Z}from"./wechat.f0083b02.js";import{s as J}from"./util.0a60ad1b.js";import{r as K,a as Q}from"./recharge.46459c2c.js";import"./account.fe20c01d.js";var ee=q({name:"u-radio",emits:["change"],props:{name:{type:[String,Number],default:""},size:{type:[String,Number],default:34},shape:{type:String,default:""},disabled:{type:[String,Boolean],default:""},labelDisabled:{type:[String,Boolean],default:""},activeColor:{type:String,default:""},iconSize:{type:[String,Number],default:""},labelSize:{type:[String,Number],default:""}},data:()=>({parentData:{iconSize:null,labelDisabled:null,disabled:null,shape:null,activeColor:null,size:null,width:null,height:null,value:null,wrap:null}}),created(){this.parent=!1,this.updateParentData(),this.parent.children.push(this)},computed:{elDisabled(){return""!==this.disabled?this.disabled:null!==this.parentData.disabled&&this.parentData.disabled},elLabelDisabled(){return""!==this.labelDisabled?this.labelDisabled:null!==this.parentData.labelDisabled&&this.parentData.labelDisabled},elSize(){return this.size?this.size:this.parentData.size?this.parentData.size:34},elIconSize(){return this.iconSize?this.iconSize:this.parentData.iconSize?this.parentData.iconSize:20},elActiveColor(){return this.activeColor?this.activeColor:this.parentData.activeColor?this.parentData.activeColor:"primary"},elShape(){return this.shape?this.shape:this.parentData.shape?this.parentData.shape:"circle"},iconStyle(){let e={};return this.elActiveColor&&this.parentData.value===this.name&&!this.elDisabled&&(e.borderColor=this.elActiveColor,e.backgroundColor=this.elActiveColor),e.width=this.$u.addUnit(this.elSize),e.height=this.$u.addUnit(this.elSize),e},iconColor(){return this.name===this.parentData.value?"#ffffff":"transparent"},iconClass(){let e=[];return e.push("u-radio__icon-wrap--"+this.elShape),this.name===this.parentData.value&&e.push("u-radio__icon-wrap--checked"),this.elDisabled&&e.push("u-radio__icon-wrap--disabled"),this.name===this.parentData.value&&this.elDisabled&&e.push("u-radio__icon-wrap--disabled--checked"),e.join(" ")},radioStyle(){let e={};return this.parentData.width&&(e.width=this.$u.addUnit(this.parentData.width),e.flex=`0 0 ${this.$u.addUnit(this.parentData.width)}`),this.parentData.wrap&&(e.width="100%",e.flex="0 0 100%"),e}},methods:{updateParentData(){this.getParentData("u-radio-group")},onClickLabel(){this.elLabelDisabled||this.elDisabled||this.setRadioCheckedStatus()},toggle(){this.elDisabled||this.setRadioCheckedStatus()},emitEvent(){this.parentData.value!=this.name&&this.$emit("change",this.name)},setRadioCheckedStatus(){this.emitEvent(),this.parent&&(this.parent.setValue(this.name),this.parentData.value=this.name)}}},[["render",function(e,c,p,h,m,f){const y=a(t("u-icon"),X),_=d;return s(),l(_,{class:"u-radio",style:n([f.radioStyle])},{default:r((()=>[i(_,{class:o(["u-radio__icon-wrap",[f.iconClass]]),onClick:f.toggle,style:n([f.iconStyle])},{default:r((()=>[i(y,{class:"u-radio__icon-wrap__icon",name:"checkbox-mark",size:f.elIconSize,color:f.iconColor},null,8,["size","color"])])),_:1},8,["onClick","class","style"]),i(_,{class:"u-radio__label",onClick:f.onClickLabel,style:n({fontSize:e.$u.addUnit(p.labelSize)})},{default:r((()=>[u(e.$slots,"default",{},void 0,!0)])),_:3},8,["onClick","style"])])),_:3},8,["style"])}],["__scopeId","data-v-1458021f"]]);const ae={name:"u-radio-group",emits:["update:modelValue","input","change"],mixins:[M],props:{value:{type:[String,Number],default:""},modelValue:{type:[String,Number],default:""},disabled:{type:Boolean,default:!1},activeColor:{type:String,default:"#2979ff"},size:{type:[String,Number],default:34},labelDisabled:{type:Boolean,default:!1},shape:{type:String,default:"circle"},iconSize:{type:[String,Number],default:20},width:{type:[String,Number],default:"auto"},wrap:{type:Boolean,default:!1}},data:()=>({uFromData:{inputAlign:"left"}}),created(){this.children=[]},mounted(){let e=this.$u.$parent.call(this,"u-form");e&&Object.keys(this.uFromData).map((a=>{this.uFromData[a]=e[a]}))},watch:{parentData(){this.children.length&&this.children.map((e=>{"function"==typeof e.updateParentData&&e.updateParentData()}))}},computed:{valueCom(){return this.modelValue},parentData(){return[this.value,this.disabled,this.activeColor,this.size,this.labelDisabled,this.shape,this.iconSize,this.width,this.wrap]}},methods:{setValue(e){this.children.map((a=>{a.parentData.value!=e&&(a.parentData.value="")})),this.$emit("input",e),this.$emit("update:modelValue",e),this.$emit("change",e),setTimeout((()=>{this.dispatch("u-form-item","onFieldChange",e)}),60)}}};var te=q(ae,[["render",function(e,a,t,i,n,c){const p=d;return s(),l(p,{class:o(["u-radio-group u-clearfix","right"==n.uFromData.inputAlign?"flex-end":""])},{default:r((()=>[u(e.$slots,"default",{},void 0,!0)])),_:3},8,["class"])}],["__scopeId","data-v-d3d67590"]]);const se=class{static inject(e,a){this.modules.set(e,a)}constructor(){for(const[e,a]of se.modules.entries())a.init(e,this)}async payment(e,a){try{const t=this[ie[e]];if(!t)throw new Error(`can not find pay way ${e}`);return await t.run(a)}catch(t){return Promise.reject(t)}}};let le=se;var re;((a,t,s)=>{t in a?e(a,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):a[t]=s})(le,"symbol"!=typeof(re="modules")?re+"":re,new Map);var ie=(e=>(e[e.BALANCE=1]="BALANCE",e[e.WECHAT=2]="WECHAT",e[e.ALIPAY=3]="ALIPAY",e))(ie||{});const oe=new class{init(e,a){a[e]=this}async run(e){try{return await c({MP_WEIXIN:()=>new Promise((a=>{uni.requestPayment({provider:"wxpay",...e,success(){a(p.SUCCESS)},fail(){a(p.FAIL)}})})),OA_WEIXIN:()=>new Promise((a=>{Y.pay(e).then((()=>{a(p.SUCCESS)})).catch((()=>{a(p.FAIL)}))})),H5:()=>new Promise((a=>{window.open(e,"_self"),a(p.PENDING)}))})}catch(a){return Promise.reject(a)}}};le.inject(ie[2],oe);const ne=new le;const ue=h({__name:"payment",props:{show:{type:Boolean,required:!0},showCheck:{type:Boolean},orderId:{type:Number,required:!0},from:{type:String,required:!0},redirect:{type:String}},emits:["update:showCheck","update:show","close","success","fail"],setup(e,{emit:o}){const n=e,u=m(),c=m(f.LOADING),h=m({order_amount:"",lists:[]}),j=y({get:()=>n.showCheck,set(e){o("update:showCheck",e)}}),E=y({get:()=>n.show,set(e){o("update:show",e)}}),V=()=>{E.value=!1,o("close")},L=_(),U=J((async()=>{if(0==L.userInfo.is_auth&&[z.OA_WEIXIN,z.MP_WEIXIN].includes(A)&&u.value==ie.WECHAT)return(await N({title:"温馨提示",content:"当前账号未绑定微信,无法完成支付",confirmText:"去绑定"})).confirm&&P({url:"/pages/user_set/user_set"}),Promise.reject()}),(async()=>($({title:"正在支付中"}),await T({order_id:n.orderId,from:n.from,pay_way:u.value,redirect:n.redirect}))),(async e=>{try{return await ne.payment(e.pay_way,e.config)}catch(a){return Promise.reject(a)}})),{isLock:F,lockFn:q}=Z((async()=>{try{const e=await U();M(e),b()}catch(e){b(),console.log(e)}})),M=e=>{switch(e){case p.SUCCESS:o("success");break;case p.FAIL:o("fail")}},Y=async(e=!0)=>{0===(await H({order_id:n.orderId,from:n.from})).pay_status?(1==e&&uni.$u.toast("您的订单还未支付,请重新支付"),E.value=!0,M(p.FAIL)):(0==e&&uni.$u.toast("您的订单已经支付,请勿重新支付"),M(p.SUCCESS)),j.value=!1};return w((()=>n.show),(e=>{if(e){if(!n.orderId)return void(c.value=f.ERROR);(async()=>{c.value=f.LOADING;try{h.value=await B({order_id:n.orderId,from:n.from}),c.value=f.NORMAL;const e=h.value.lists.find((e=>e.is_default))||h.value.lists[0];u.value=null==e?void 0:e.pay_way}catch(e){c.value=f.ERROR}})()}}),{immediate:!0}),(e,o)=>{const n=a(t("u-empty"),O),p=v("price"),m=d,f=a(t("u-icon"),X),y=a(t("u-radio"),ee),_=a(t("u-radio-group"),te),b=a(t("u-button"),R),w=a(t("page-status"),W),z=a(t("u-popup"),G);return s(),g(x,null,[i(z,{modelValue:k(E),"onUpdate:modelValue":o[1]||(o[1]=e=>I(E)?E.value=e:null),mode:"bottom","safe-area-inset-bottom":"","mask-close-able":!1,"border-radius":"14",closeable:"",onClose:V},{default:r((()=>[i(m,{class:"h-[900rpx]"},{default:r((()=>[i(w,{status:c.value,fixed:!1},{error:r((()=>[i(n,{text:"订单信息错误,无法查询到订单信息",mode:"order"})])),default:r((()=>[i(m,{class:"payment h-full w-full flex flex-col"},{default:r((()=>[i(m,{class:"header py-[50rpx] flex flex-col items-center"},{default:r((()=>[i(p,{content:h.value.order_amount,mainSize:"44rpx",minorSize:"40rpx",fontWeight:"500",color:"#333"},null,8,["content"])])),_:1}),i(m,{class:"main flex-1 mx-[20rpx]"},{default:r((()=>[i(m,null,{default:r((()=>[i(m,{class:"payway-lists"},{default:r((()=>[i(_,{modelValue:u.value,"onUpdate:modelValue":o[0]||(o[0]=e=>u.value=e),class:"w-full"},{default:r((()=>[(s(!0),g(x,null,C(h.value.lists,((e,a)=>(s(),l(m,{class:"p-[20rpx] flex items-center w-full payway-item",key:a,onClick:a=>{return t=e.pay_way,void(u.value=t);var t}},{default:r((()=>[i(f,{class:"flex-none",size:48,name:e.icon},null,8,["name"]),i(m,{class:"mx-[16rpx] flex-1"},{default:r((()=>[i(m,{class:"payway-item--name flex-1"},{default:r((()=>[S(D(e.name),1)])),_:2},1024),i(m,{class:"text-muted text-xs"},{default:r((()=>[S(D(e.extra),1)])),_:2},1024)])),_:2},1024),i(y,{class:"mr-[-20rpx]",name:e.pay_way},null,8,["name"])])),_:2},1032,["onClick"])))),128))])),_:1},8,["modelValue"])])),_:1})])),_:1})])),_:1}),i(m,{class:"submit-btn p-[20rpx]"},{default:r((()=>[i(b,{onClick:k(q),shape:"circle",type:"primary",loading:k(F)},{default:r((()=>[S(" 立即支付 ")])),_:1},8,["onClick","loading"])])),_:1})])),_:1})])),_:1},8,["status"])])),_:1})])),_:1},8,["modelValue"]),i(z,{class:"pay-popup",modelValue:k(j),"onUpdate:modelValue":o[4]||(o[4]=e=>I(j)?j.value=e:null),round:"",mode:"center",borderRadius:"10",maskCloseAble:!1},{default:r((()=>[i(m,{class:"content bg-white w-[560rpx] p-[40rpx]"},{default:r((()=>[i(m,{class:"text-2xl font-medium text-center"},{default:r((()=>[S(" 支付确认 ")])),_:1}),i(m,{class:"pt-[30rpx] pb-[40rpx]"},{default:r((()=>[i(m,null,{default:r((()=>[S(" 请在微信内完成支付,如果您已支付成功,请点击`已完成支付`按钮 ")])),_:1})])),_:1}),i(m,{class:"flex"},{default:r((()=>[i(m,{class:"flex-1 mr-[20rpx]"},{default:r((()=>[i(b,{shape:"circle",type:"primary",plain:"",size:"medium","hover-class":"none",customStyle:{width:"100%"},onClick:o[2]||(o[2]=e=>Y(!1))},{default:r((()=>[S(" 重新支付 ")])),_:1})])),_:1}),i(m,{class:"flex-1"},{default:r((()=>[i(b,{shape:"circle",type:"primary",size:"medium","hover-class":"none",customStyle:{width:"100%"},onClick:o[3]||(o[3]=e=>Y())},{default:r((()=>[S(" 已完成支付 ")])),_:1})])),_:1})])),_:1})])),_:1})])),_:1},8,["modelValue"])],64)}}});var de=q(ue,[["__scopeId","data-v-851e5f30"]]);const ce=h({__name:"recharge",setup(e){const o=m(""),n=j({orderId:"",from:"",showPay:!1,showCheck:!1,redirect:"/packages/pages/recharge/recharge"}),u=j({user_money:"",min_amount:0}),{isLock:c,lockFn:p}=Z((async()=>{const e=u.min_amount;if(!o.value)return uni.$u.toast("请输入充值金额");if(0==e&&Number(o.value)==e)return uni.$u.toast("充值金额必须大于0");if(Number(o.value)<e)return uni.$u.toast(`最低充值金额${e}`);const a=await Q({money:o.value});n.orderId=a.order_id,n.from=a.from,n.showPay=!0})),h=async()=>{n.showPay=!1,n.showCheck=!1,P({url:`/pages/payment_result/payment_result?id=${n.orderId}&from=${n.from}`})},f=async()=>{uni.$u.toast("支付失败")};return E((e=>{(null==e?void 0:e.checkPay)&&(n.orderId=e.id,n.from=e.from,n.showCheck=!0)})),V((()=>{(async()=>{const e=await K();Object.assign(u,e)})()})),(e,m)=>{const y=d,_=L,b=U,w=a(t("u-button"),R),v=F,g=a(t("payment"),de);return s(),l(y,{class:"recharge p-[20rpx]"},{default:r((()=>[i(y,{class:"bg-white rounded-[14rpx] p-[40rpx]"},{default:r((()=>[i(y,{class:"text-content"},{default:r((()=>[S("充值金额")])),_:1}),i(y,{class:"border-0 border-b border-solid border-light"},{default:r((()=>[i(_,{modelValue:o.value,"onUpdate:modelValue":m[0]||(m[0]=e=>o.value=e),class:"text-[60rpx] h-[60rpx] py-[24rpx]",placeholder:"0.00",type:"digit"},null,8,["modelValue"])])),_:1}),i(y,{class:"mt-[20rpx] text-xs text-muted"},{default:r((()=>[S(" 当前可用余额 "),i(b,{class:"text-primary"},{default:r((()=>[S(D(u.user_money),1)])),_:1})])),_:1})])),_:1}),i(y,{class:"mt-[40rpx]"},{default:r((()=>[i(w,{loading:k(c),type:"primary",shape:"circle",onClick:k(p)},{default:r((()=>[S(" 立即充值 ")])),_:1},8,["loading","onClick"])])),_:1}),i(y,{class:"flex justify-center m-[60rpx]"},{default:r((()=>[i(v,{url:"/packages/pages/recharge_record/recharge_record","hover-class":"none"},{default:r((()=>[i(b,{class:"text-content text-sm"},{default:r((()=>[S("充值记录")])),_:1})])),_:1})])),_:1}),i(g,{show:n.showPay,"onUpdate:show":m[1]||(m[1]=e=>n.showPay=e),"show-check":n.showCheck,"onUpdate:show-check":m[2]||(m[2]=e=>n.showCheck=e),"order-id":n.orderId,from:n.from,redirect:n.redirect,onSuccess:h,onFail:f},null,8,["show","show-check","order-id","from","redirect"])])),_:1})}}});export{ce as default};
|