1 |
- import{a9 as e,o as a,c as t,w as o,a as s,b as n,f as r,t as d,F as l,e as i,n as c,k as m,l as u,i as y,$ as h,T as p,C as f,d as _,r as P,y as T}from"./index-3b24b149.js";import{_ as g}from"./u-modal.955b8501.js";import{r as C}from"./uni-app.es.9206f90a.js";import{P as I,p as S,a as x,e as b,b as v,c as w,d as E}from"./wechat.2284feb1.js";import{_ as k}from"./_plugin-vue_export-helper.1b428a4d.js";import{P as A}from"./OrderType.2c504bdd.js";import"./u-loading.073cbc93.js";import"./u-popup.c8f8fe8c.js";import"./u-icon.72a24694.js";const D=k({props:{date:{type:String,default:""},separator:{type:String,default:"zh"},theme:{type:String,default:"text"},customBgColor:{type:String,default:"#252525"}},data:()=>({dynamic:{day:"0",hou:"00",min:"00",sec:"00"},separatorText:{day:"天",hou:"时",min:"分",sec:"秒"}}),created(){this.setSeparatorText(),this.onTime()},methods:{setSeparatorText(){const e=this.separatorText;"colon"===this.separator&&(e.day=":",e.hou=e.min=":",e.sec=""),this.separatorText=e},onTime(a=0){const t=this,o={},s=(new Date).getTime(),n=new Date(e(t.date)).getTime();if(n-s<=0)return!1;const r=(n-s)/1e3,d=parseInt(r/86400),l=parseInt(r%86400/3600),i=parseInt(r%86400%3600/60),c=parseInt(r%86400%3600%60);o.day=d,o.hou=t.timeFormat(l),o.min=t.timeFormat(i),o.sec=t.timeFormat(c),t.dynamic=o;const m=t.isEnd();m&&a>0&&t.$emit("finish"),m||setTimeout((()=>{t.onTime(++a)}),100)},isEnd(){const{dynamic:e}=this;return"00"==e.day&&"00"==e.hou&&"00"==e.min&&"00"==e.sec},timeFormat:e=>e<10?"0"+e:e}},[["render",function(e,h,p,f,_,P){const T=u,g=y;return p.date?(a(),t(g,{key:0,class:"count-down"},{default:o((()=>[s(g,{class:m([`${p.theme}-theme`,`separator-${p.separator}`])},{default:o((()=>[_.dynamic.day>0?(a(),n(l,{key:0},[s(T,{class:"dynamic-value"},{default:o((()=>[r(d(_.dynamic.day),1)])),_:1}),s(T,{class:"separator"},{default:o((()=>[r(d(_.separatorText.day),1)])),_:1})],64)):i("",!0),s(T,{class:"dynamic-value",style:c({backgroundColor:p.customBgColor})},{default:o((()=>[r(d(_.dynamic.hou),1)])),_:1},8,["style"]),s(T,{class:"separator"},{default:o((()=>[r(d(_.separatorText.hou),1)])),_:1}),s(T,{class:"dynamic-value",style:c({backgroundColor:p.customBgColor})},{default:o((()=>[r(d(_.dynamic.min),1)])),_:1},8,["style"]),s(T,{class:"separator"},{default:o((()=>[r(d(_.separatorText.min),1)])),_:1}),s(T,{class:"dynamic-value",style:c({backgroundColor:p.customBgColor})},{default:o((()=>[r(d(_.dynamic.sec),1)])),_:1},8,["style"]),s(T,{class:"separator"},{default:o((()=>[r(d(_.separatorText.sec),1)])),_:1})])),_:1},8,["class"])])),_:1})):i("",!0)}],["__scopeId","data-v-bc038875"]]),N="cashier/orderInfo",U="cashier/orderPay",M="cashier/tradeQuery";const L={[I.WECHAT.value]:"icon-wechat-pay",[I.ALIPAY.value]:"icon-alipay",[I.BALANCE.value]:"icon-balance-pay"},F={[I.WECHAT.value]:"微信",[I.ALIPAY.value]:"支付宝"};const $=k({components:{CountDown:D},data:()=>({isLoading:!0,disabled:!1,PayMethodEnum:I,PayMethodIconEnum:L,PayMethodClientNameEnum:F,curPaymentItem:null,orderId:null,order:{},personal:{balance:"0.00"},methods:[],showConfirmModal:!1,tempUnifyData:{outTradeNo:"",method:""}}),onLoad({orderId:e}){this.orderId=Number(e),this.getCashierInfo()},methods:{getCashierInfo(){const e=this;var a,t;e.isLoading=!0,(a=e.orderId,t={client:e.platform},h.get(N,{orderId:a,...t})).then((a=>{e.order=a.data.order,e.personal=a.data.personal,e.methods=a.data.paymentMethods,e.isLoading=!1,e.setDefaultPayType(),e.checkOrderPayStatus(),this.performance()}))},setDefaultPayType(){const e=this;if(e.disabled)return;const a=e.methods.findIndex((e=>1==e.is_default));a>-1&&e.handleSelectPayType(a)},checkOrderPayStatus(){const e=this;e.order.pay_status==A.SUCCESS.value&&(e.$toast("恭喜您,订单已付款成功"),e.onSuccessNav())},handleSelectPayType(e){this.curPaymentItem=this.methods[e]},performance(){const e=this;e.order.pay_status==A.PENDING.value&&(e.alipayPerformance(),e.wechatPerformance())},alipayPerformance(){const e=this;e.tempUnifyData=S(),e.tempUnifyData&&e.onTradeQuery(e.tempUnifyData.outTradeNo,e.tempUnifyData.method)},wechatPerformance(){const e=this;e.tempUnifyData=x(e.orderId),e.tempUnifyData&&(e.showConfirmModal=!0)},handleSubmit(){const e=this;var a,t;e.curPaymentItem?e.disabled||(e.disabled=!0,(a=e.orderId,t={method:e.curPaymentItem.method,client:e.platform,extra:e.getExtraAsUnify(e.curPaymentItem.method)},h.post(U,{orderId:a,...t})).then((a=>e.onSubmitCallback(a))).finally((a=>setTimeout((()=>e.disabled=!1),10)))):e.$toast("您还没有选择支付方式")},getExtraAsUnify:e=>e===I.ALIPAY.value?b():e===I.WECHAT.value?v():{},onSubmitCallback(e){const a=this,t=a.curPaymentItem.method,o=e.data.payment;t===I.BALANCE.value&&a.onShowSuccess(e),t===I.ALIPAY.value&&(console.log("paymentData",o),w(o).then((e=>a.onPaySuccess(e))).catch((e=>a.onPayFail(e)))),t===I.WECHAT.value&&(console.log("paymentData",o),E({orderKey:a.orderId,...o}).then((e=>a.onPaySuccess(e))).catch((e=>a.onPayFail(e))))},onPaySuccess({res:e,option:{isRequireQuery:a,outTradeNo:t,method:o}}){if(a)return this.onTradeQuery(t,o),!0;this.onShowSuccess(e)},onShowSuccess({message:e}){this.$toast(e||"订单支付成功"),this.onSuccessNav()},onPayFail(e){console.log("onPayFail",e);const a=e.message||"订单未支付";this.$error(a)},onTradeQuery(e,a){const t=this;var o;(o={outTradeNo:e,method:a,client:t.platform},h.get(M,o)).then((e=>e.data.isPay?t.onShowSuccess(e):t.onPayFail(e))).finally((()=>t.showConfirmModal=!1))},onSuccessNav(){uni.$emit("syncRefresh",!0);const e=p(),a=e.length<2?null:e[e.length-2],t=["pages/order/index","pages/order/detail"];setTimeout((()=>{a&&f(a.route,t)?uni.navigateBack():this.$navTo("pages/order/index",{},"redirectTo")}),1200)}}},[["render",function(e,h,p,f,I,S){const x=u,b=P("count-down"),v=y,w=C(T("u-modal"),g);return I.isLoading?i("",!0):(a(),t(v,{key:0,class:"container",style:c(e.appThemeStyle)},{default:o((()=>[s(v,{class:"order-info"},{default:o((()=>[I.order.showExpiration?(a(),t(v,{key:0,class:"order-countdown"},{default:o((()=>[s(x,{class:"m-r-6"},{default:o((()=>[r("剩余时间")])),_:1}),s(b,{date:I.order.expirationTime,separator:"zh",theme:"text"},null,8,["date"])])),_:1})):i("",!0),s(v,{class:"order-amount"},{default:o((()=>[s(x,{class:"unit"},{default:o((()=>[r("¥")])),_:1}),s(x,{class:"amount"},{default:o((()=>[r(d(I.order.pay_price),1)])),_:1})])),_:1})])),_:1}),s(v,{class:"payment-method"},{default:o((()=>[(a(!0),n(l,null,_(I.methods,((e,n)=>(a(),t(v,{key:n,class:"pay-item dis-flex flex-x-between",onClick:e=>S.handleSelectPayType(n)},{default:o((()=>[s(v,{class:"item-left dis-flex flex-y-center"},{default:o((()=>[s(v,{class:m(["item-left_icon",[e.method]])},{default:o((()=>[s(x,{class:m(["iconfont",[I.PayMethodIconEnum[e.method]]])},null,8,["class"])])),_:2},1032,["class"]),s(v,{class:"item-left_text"},{default:o((()=>[s(x,null,{default:o((()=>[r(d(I.PayMethodEnum[e.method].name),1)])),_:2},1024)])),_:2},1024),e.method===I.PayMethodEnum.BALANCE.value?(a(),t(v,{key:0,class:"user-balance"},{default:o((()=>[s(x,null,{default:o((()=>[r("(可用¥"+d(I.personal.balance)+"元)",1)])),_:1})])),_:1})):i("",!0)])),_:2},1024),I.curPaymentItem&&I.curPaymentItem.method==e.method?(a(),t(v,{key:0,class:"item-right col-m"},{default:o((()=>[s(x,{class:"iconfont icon-check"})])),_:1})):i("",!0)])),_:2},1032,["onClick"])))),128))])),_:1}),s(v,{class:"footer-fixed"},{default:o((()=>[s(v,{class:"btn-wrapper"},{default:o((()=>[s(v,{class:m(["btn-item btn-item-main",{disabled:I.disabled}]),onClick:h[0]||(h[0]=e=>S.handleSubmit())},{default:o((()=>[r("确认支付")])),_:1},8,["class"])])),_:1})])),_:1}),I.tempUnifyData?(a(),t(w,{key:0,modelValue:I.showConfirmModal,"onUpdate:modelValue":h[1]||(h[1]=e=>I.showConfirmModal=e),title:"支付确认","show-cancel-button":"","confirm-text":"已完成支付","confirm-color":e.appTheme.mainBg,"negative-top":"100",asyncClose:!0,onConfirm:h[2]||(h[2]=e=>S.onTradeQuery(I.tempUnifyData.outTradeNo,I.tempUnifyData.method))},{default:o((()=>[s(v,{class:"modal-content"},{default:o((()=>[s(x,null,{default:o((()=>[r("请在"+d(I.PayMethodClientNameEnum[I.tempUnifyData.method])+"内完成支付,如果您已经支付成功,请点击“已完成支付”按钮",1)])),_:1})])),_:1})])),_:1},8,["modelValue","confirm-color"])):i("",!0)])),_:1},8,["style"]))}],["__scopeId","data-v-8edcdc3e"]]);export{$ as default};
|