| 1 |
- import{a6 as e,o as t,c as a,w as o,a as s,b as r,f as n,t as l,F as d,e as i,n as c,k as m,l as u,i as y,$ as h,Q as f,B as p,r as _,q as g,a0 as C,d as P}from"./index-DVbFeFXr.js";import{_ as S}from"./u-modal.h4EU6GfK.js";import{r as T}from"./uni-app.es.BZZrcWfv.js";import{e as I,a as x,p as b,b as v}from"./wechat.B1OcOds5.js";import{_ as N}from"./_plugin-vue_export-helper.BCo6x5W8.js";import{P as w}from"./Method.D0kqHybD.js";import{P as E}from"./OrderType.BPUKedKt.js";import"./u-loading.D_Y5Uuw6.js";import"./u-popup.DTY0oIIM.js";import"./u-icon.BaXMqVPv.js";import"./Client.CyNgyD-u.js";const k=N({props:{date:{type:String,default:""},separator:{type:String,default:"zh"},theme:{type:String,default:"text"},textColor:{type:String,default:"#303133"},fontSize:{type:Number,default:26},customNumBgColor:{type:String,default:"#252525"},customNumColor:{type:String,default:"#fff"}},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(t=0){const a=this,o={},s=(new Date).getTime(),r=new Date(e(a.date)).getTime();if(r-s<=0)return!1;const n=(r-s)/1e3,l=parseInt(n/86400),d=parseInt(n%86400/3600),i=parseInt(n%86400%3600/60),c=parseInt(n%86400%3600%60);o.day=l,o.hou=a.timeFormat(d),o.min=a.timeFormat(i),o.sec=a.timeFormat(c),a.dynamic=o;const m=a.isEnd();m&&t>0&&a.$emit("finish"),m||setTimeout((()=>{a.onTime(++t)}),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,f,p,_,g){const C=u,P=y;return f.date?(t(),a(P,{key:0,class:"count-down",style:c({color:f.textColor,fontSize:`${f.fontSize}rpx`})},{default:o((()=>[s(P,{class:m([`${f.theme}-theme`,`separator-${f.separator}`])},{default:o((()=>[_.dynamic.day>0?(t(),r(d,{key:0},[s(C,{class:"dynamic-value"},{default:o((()=>[n(l(_.dynamic.day),1)])),_:1}),s(C,{class:"separator"},{default:o((()=>[n(l(_.separatorText.day),1)])),_:1})],64)):i("",!0),s(C,{class:"dynamic-value",style:c({backgroundColor:f.customNumBgColor,color:f.customNumColor})},{default:o((()=>[n(l(_.dynamic.hou),1)])),_:1},8,["style"]),s(C,{class:"separator"},{default:o((()=>[n(l(_.separatorText.hou),1)])),_:1}),s(C,{class:"dynamic-value",style:c({backgroundColor:f.customNumBgColor,color:f.customNumColor})},{default:o((()=>[n(l(_.dynamic.min),1)])),_:1},8,["style"]),s(C,{class:"separator"},{default:o((()=>[n(l(_.separatorText.min),1)])),_:1}),s(C,{class:"dynamic-value",style:c({backgroundColor:f.customNumBgColor,color:f.customNumColor})},{default:o((()=>[n(l(_.dynamic.sec),1)])),_:1},8,["style"]),s(C,{class:"separator"},{default:o((()=>[n(l(_.separatorText.sec),1)])),_:1})])),_:1},8,["class"])])),_:1},8,["style"])):i("",!0)}],["__scopeId","data-v-311748ca"]]),A="cashier/orderInfo",D="cashier/orderPay",M="cashier/tradeQuery";const L={[w.WECHAT.value]:"icon-wechat-pay",[w.ALIPAY.value]:"icon-alipay",[w.BALANCE.value]:"icon-balance-pay"},U={[w.WECHAT.value]:"微信",[w.ALIPAY.value]:"支付宝"};const j=N({components:{CountDown:k},data:()=>({isLoading:!0,disabled:!1,PayMethodEnum:w,PayMethodIconEnum:L,PayMethodClientNameEnum:U,curPaymentItem:null,orderId:null,order:{},personal:{balance:"0.00"},methods:[],showConfirmModal:!1,tempUnifyData:{outTradeNo:"",method:""}}),onLoad({orderId:e}){this.orderId=Number(e)},onShow(){this.getCashierInfo()},methods:{getCashierInfo(){const e=this;var t,a;e.isLoading=!0,(t=e.orderId,a={client:e.platform},h.get(A,{orderId:t,...a})).then((t=>{e.order=t.data.order,e.personal=t.data.personal,e.methods=t.data.paymentMethods,e.isLoading=!1,e.setDefaultPayType(),e.checkOrderPayStatus(),this.performance()}))},setDefaultPayType(){const e=this;if(e.disabled)return;if(e.curPaymentItem)return;const t=e.methods.findIndex((e=>1==e.is_default));t>-1&&e.handleSelectPayType(t)},checkOrderPayStatus(){const e=this;e.order.pay_status==E.SUCCESS.value&&(e.$toast("恭喜您,订单已付款成功"),e.onSuccessNav())},handleSelectPayType(e){this.curPaymentItem=this.methods[e]},performance(){const e=this;if(e.order.pay_status==E.PENDING.value){const t=(e=>{const t=C.get("tempUnifyData_"+e);return t?(C.remove("tempUnifyData_"+e),t):null})(e.orderId);t&&(e.tempUnifyData=t,e.showConfirmModal=!0)}},handleSubmit(){const e=this;var t,a;e.curPaymentItem?e.disabled||(e.disabled=!0,(t=e.orderId,a={method:e.curPaymentItem.method,client:e.platform,extra:e.getExtraAsUnify(e.curPaymentItem.method)},h.post(D,{orderId:t,...a})).then((t=>e.onSubmitCallback(t))).finally((t=>setTimeout((()=>e.disabled=!1),10)))):e.$toast("您还没有选择支付方式")},getExtraAsUnify:e=>e===w.ALIPAY.value?I():e===w.WECHAT.value?x():{},onSubmitCallback(e){const t=this,a=t.curPaymentItem.method,o=e.data.payment;a===w.BALANCE.value&&t.onShowSuccess(e),a===w.ALIPAY.value&&(console.log("paymentData",o),b({orderKey:t.orderId,...o}).then((e=>t.onPaySuccess(e))).catch((e=>t.onPayFail(e)))),a===w.WECHAT.value&&(console.log("paymentData",o),v({orderKey:t.orderId,...o}).then((e=>t.onPaySuccess(e))).catch((e=>t.onPayFail(e))))},onPaySuccess({res:e,option:{isRequireQuery:t,outTradeNo:a,method:o}}){if(t)return this.onTradeQuery(a,o),!0;this.onShowSuccess(e)},onShowSuccess({message:e}){this.$toast(e||"订单支付成功"),this.onSuccessNav()},onPayFail(e){console.log("onPayFail",e);const t=e.message||"订单未支付";this.$error(t)},onTradeQuery(e,t){const a=this;var o;(o={outTradeNo:e,method:t,client:a.platform},h.get(M,o)).then((e=>e.data.isPay?a.onShowSuccess(e):a.onPayFail(e))).finally((()=>a.showConfirmModal=!1))},onSuccessNav(){uni.$emit("syncRefresh",!0);const e=f(),t=e.length<2?null:e[e.length-2],a=["pages/order/index","pages/order/detail"];setTimeout((()=>{t&&p(t.route,a)?uni.navigateBack():this.$navTo("pages/order/index",{},"redirectTo")}),1200)}}},[["render",function(e,h,f,p,C,I){const x=u,b=_("count-down"),v=y,N=T(g("u-modal"),S);return C.isLoading?i("",!0):(t(),a(v,{key:0,class:"container",style:c(e.appThemeStyle)},{default:o((()=>[s(v,{class:"order-info"},{default:o((()=>[C.order.showExpiration?(t(),a(v,{key:0,class:"order-countdown"},{default:o((()=>[s(x,{class:"m-r-6"},{default:o((()=>[n("剩余时间")])),_:1}),s(b,{date:C.order.expirationTime,separator:"zh",theme:"text",textColor:"#666666",customNumColor:"#666666"},null,8,["date"])])),_:1})):i("",!0),s(v,{class:"order-amount"},{default:o((()=>[s(x,{class:"unit"},{default:o((()=>[n("¥")])),_:1}),s(x,{class:"amount"},{default:o((()=>[n(l(C.order.pay_price),1)])),_:1})])),_:1})])),_:1}),s(v,{class:"payment-method"},{default:o((()=>[(t(!0),r(d,null,P(C.methods,((e,r)=>(t(),a(v,{key:r,class:"pay-item dis-flex flex-x-between",onClick:e=>I.handleSelectPayType(r)},{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",[C.PayMethodIconEnum[e.method]]])},null,8,["class"])])),_:2},1032,["class"]),s(v,{class:"item-left_text"},{default:o((()=>[s(x,null,{default:o((()=>[n(l(C.PayMethodEnum[e.method].name),1)])),_:2},1024)])),_:2},1024),e.method===C.PayMethodEnum.BALANCE.value?(t(),a(v,{key:0,class:"user-balance"},{default:o((()=>[s(x,null,{default:o((()=>[n("(可用¥"+l(C.personal.balance)+"元)",1)])),_:1})])),_:1})):i("",!0)])),_:2},1024),C.curPaymentItem&&C.curPaymentItem.method==e.method?(t(),a(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:C.disabled}]),onClick:h[0]||(h[0]=e=>I.handleSubmit())},{default:o((()=>[n("确认支付")])),_:1},8,["class"])])),_:1})])),_:1}),C.tempUnifyData?(t(),a(N,{key:0,modelValue:C.showConfirmModal,"onUpdate:modelValue":h[1]||(h[1]=e=>C.showConfirmModal=e),title:"支付确认","show-cancel-button":"","confirm-text":"已完成支付","confirm-color":e.appTheme.mainBg,"negative-top":"100",asyncClose:!0,onConfirm:h[2]||(h[2]=e=>I.onTradeQuery(C.tempUnifyData.outTradeNo,C.tempUnifyData.method))},{default:o((()=>[s(v,{class:"modal-content"},{default:o((()=>[s(x,null,{default:o((()=>[n("请在"+l(C.PayMethodClientNameEnum[C.tempUnifyData.method])+"内完成支付,如果您已经支付成功,请点击“已完成支付”按钮",1)])),_:1})])),_:1})])),_:1},8,["modelValue","confirm-color"])):i("",!0)])),_:1},8,["style"]))}],["__scopeId","data-v-8b4cff86"]]);export{j as default};
|