mirror of
https://gitee.com/niucloud-team/niucloud-admin.git
synced 2026-02-27 18:00:26 +00:00
2 lines
16 KiB
JavaScript
2 lines
16 KiB
JavaScript
import{d as t,r as e,o as l,c as a,i as r,j as o,w as s,k as n,G as u,H as i,P as d,Q as c,n as m,R as f,aE as x,m as p,_ as v,aI as _,a0 as b,aF as y,x as w,I as h,q as g,t as j,a7 as F,D as k,y as C,W as D}from"./index-faf5e276.js";import{_ as I}from"./u-number-box.22f4cc0e.js";import{_ as B}from"./u-parse.2d43cacf.js";import{_ as V}from"./u-popup.a69d5115.js";import{_ as A}from"./u--input.d9f94a03.js";import{_ as S}from"./u-form-item.a1ccf72c.js";import{_ as $}from"./u--form.79cd9aae.js";import{_ as z}from"./u-button.9384f0e3.js";import{_ as U}from"./pay.29236a27.js";import{_ as E}from"./u-empty.721cd298.js";import{_ as N}from"./u-loading-page.4ec3ad33.js";import{_ as O}from"./u-calendar.a037dc4b.js";import{s as P,t as T,u as W,v as q,x as L}from"./tourism.7006ebdc.js";import{_ as Q}from"./_plugin-vue_export-helper.1b428a4d.js";import"./u-icon.71776381.js";import"./u-transition.bcacef93.js";import"./u-safe-bottom.c1f1e254.js";import"./u-input.201a0a1e.js";import"./u-line.0f7106aa.js";import"./u-line.vue_vue_type_style_index_0_scoped_45e31c7a_lang.501f5819.js";import"./u-form.ab08229f.js";import"./u-loading-icon.a6d83e95.js";import"./u-image.44e221c2.js";import"./pay.6aff2817.js";import"./wechat.2fa35c62.js";import"./index.66e957cd.js";const R=Q(t({__name:"order",setup(t){const Q=t=>{J.value.num=t.value,ot(t.value),Z()},R=e(null),G=e(!0),H=e(""),J=e(uni.getStorageSync("scenicCreateData")||{}),K=e(null),M=e(!1),X=e(!1),Y=e("");l((()=>{vt(J.value.ticket_id),P(J.value).then((({data:t})=>{G.value=!1,K.value=t,Y.value=t.buy_info,at()})).catch((t=>{H.value=t.msg,G.value=!1}))}));const Z=()=>{G.value=!0,W(J.value).then((({data:t})=>{K.value=t,G.value=!1})).catch((t=>{G.value=!1,v({title:t.msg,icon:"none"})}))},tt=e(!1),et=()=>{if(lt()){if(tt.value)return;tt.value=!0;const t=uni.$u.deepClone(_(J.value));t.buyer_info=JSON.stringify(t.buyer_info),q(t).then((({data:t})=>{var e;null==(e=R.value)||e.open(t.trade_type,t.trade_id,`/tourism/pages/order/detail?order_id=${t.trade_id}`),tt.value=!1})).catch((t=>{tt.value=!1,v({title:t.msg,icon:"none"})}))}},lt=()=>{if(uni.$u.test.isEmpty(J.value.mobile))return v({title:"请输入手机号",icon:"none"}),!1;if(!uni.$u.test.mobile(J.value.mobile))return v({title:"请输入正确的手机号",icon:"none"}),!1;let t=!0;for(let e=0;e<J.value.buyer_info.length;e++){const l=J.value.buyer_info[e];if(uni.$u.test.isEmpty(l.name)){t=!1,v({title:"请输入游客"+(e+1)+"的联系人姓名",icon:"none"});break}if(uni.$u.test.isEmpty(l.id_card)){t=!1,v({title:"请输入游客"+(e+1)+"的身份证号",icon:"none"});break}if(!/^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X)$/.test(l.id_card)){t=!1,v({title:"请输入游客"+(e+1)+"的正确身份证号",icon:"none"});break}}return!!t},at=()=>{var t;J.value.buyer_info=[{name:"",id_card:""}],J.value.mobile="",K.value.reserve_time=st(null==(t=K.value)?void 0:t.reserve_time)};let rt=e("0");L().then((t=>{rt.value=t.data.is_allow_refund}));const ot=t=>{J.value.num=t;for(let e=0;e<J.value.num;e++)null==J.value.buyer_info[e]&&(J.value.buyer_info[e]={name:"",id_card:""});J.value.buyer_info.length>J.value.num&&J.value.buyer_info.splice(J.value.num-1,J.value.buyer_info.length-J.value.num),Z()};a((()=>K.value?K.value.goods_info.goods_attribute.split(","):[]));const st=t=>{const e=new Date(t);return uni.$u.timeFormat(e,"mm月dd日 ")+["周日","周一","周二","周三","周四","周五","周六"][e.getDay()]},nt=()=>{},ut=()=>{b()};let it=e(!1),dt=e(!1),ct=e([]),mt=e(0),ft={};const xt=t=>{J.value.reserve_time=t[0];let e=new Date(t[0]).getTime();yt(e),mt.value=0,it.value=!1,Z()},pt=t=>{const e=y(Date.parse(t.date)/1e3,"year_month_day");return ft[e]&&(t.bottomInfo=ft[e]),t},vt=t=>{T(t).then((t=>{let e=t.data;e&&(ft=e),dt.value=!0,yt()})).catch((()=>{G.value=!0}))},_t=t=>{var e=[];return-1!=t.indexOf("-")?e=t.split("-"):-1!=t.indexOf("/")&&(e=t.split("/")),e[1]+"-"+e[2]},bt=(t,e="")=>{var l=864e5*t;return e?new Date(e+l):new Date(Date.now()+l)},yt=(t="")=>{let e,l=["周日","周一","周二","周三","周四","周五","周六"];ct.value=[];for(let a=0;a<4;a++){e={};let r=bt(a,t).toLocaleDateString();e.centerInfo=_t(r);let o=r.split("/").map((t=>{let e="";return e=t<10?"0"+t:t,e})).join("-");e.bottomInfo=ft[o]||"",e.topInfo=l[new Date(o).getDay()],e.initInfo=o,ct.value.push(e)}};return(t,e)=>{const l=w,a=D,v=h,_=g(j("u-number-box"),I),b=g(j("u-parse"),B),y=g(j("u-popup"),V),P=g(j("u--input"),A),T=g(j("u-form-item"),S),W=g(j("u--form"),$),q=g(j("u-button"),z),L=F,lt=g(j("pay"),U),at=g(j("u-empty"),E),ot=g(j("u-loading-page"),N),st=g(j("u-calendar"),O);return K.value?(r(),o(l,{key:0,class:"bg-[#f7f7f7] min-h-screen overflow-hidden"},{default:s((()=>[n(l,{class:"chunk-wrap pb-2 pt-4"},{default:s((()=>[n(l,{class:"font-bold"},{default:s((()=>[u(i(K.value.goods_info.goods_name),1)])),_:1}),n(l,{class:"mt-4"},{default:s((()=>[n(l,{class:"font-bold text-[30rpx]"},{default:s((()=>[u("选择日期")])),_:1}),n(l,{class:"flex pt-[28rpx] pb-[24rpx]"},{default:s((()=>[(r(!0),d(f,null,c(m(ct),((t,e)=>(r(),o(l,{class:k(["relative flex flex-col items-center justify-center w-[130rpx] h-[142rpx] border-1 border-solid mr-[14rpx] text-sm rounded",{"border-color":e==m(mt),"border-[#F0F0F0]":e!=m(mt)}]),onClick:l=>((t,e)=>{mt.value=e,J.value.reserve_time=t.initInfo,Z()})(t,e)},{default:s((()=>[e==m(mt)?(r(),o(a,{key:0,class:"w-[26rpx] h-[26rpx] absolute bottom-0 right-0",src:m(C)("addon/tourism/tourism/way/check.png"),mode:"aspectFill"},null,8,["src"])):p("v-if",!0),n(v,{class:"text-[#9B9B9B] text-xs"},{default:s((()=>[u(i(t.topInfo),1)])),_:2},1024),n(v,{class:"mt-[4rpx]"},{default:s((()=>[u(i(t.centerInfo),1)])),_:2},1024),t.bottomInfo?(r(),o(v,{key:1,class:"text-[#FA6400] text-xs"},{default:s((()=>[u(i(t.bottomInfo),1)])),_:2},1024)):p("v-if",!0)])),_:2},1032,["class","onClick"])))),256)),n(l,{class:"relative flex flex-col items-center justify-center w-[130rpx] h-[142rpx] border-1 border-solid border-[#F8F8F8] text-sm rounded bg-[#F8F8F8]",onClick:e[0]||(e[0]=t=>x(it)?it.value=!0:it=!0)},{default:s((()=>[n(v,{class:"iconfont iconrili text-[44rpx] text-[#707070]"}),n(v,{class:"text-xs text-[#9B9B9B] mt-[4rpx]"},{default:s((()=>[u("更多")])),_:1})])),_:1})])),_:1})])),_:1}),n(l,{class:"flex items-center justify-between mt-2 bg-[#FFF8DC] py-[16rpx] px-[18rpx] rounded-md"},{default:s((()=>[n(v,{class:"text-xs text-[#7A5238]"},{default:s((()=>[u(i(Number(m(rt))?"随时可退":"购买后不可退款"),1)])),_:1}),n(l,{class:"flex items-center text-[#7A5238] text-xs",onClick:e[1]||(e[1]=t=>X.value=!0)},{default:s((()=>[n(v,null,{default:s((()=>[u("购买须知")])),_:1}),n(v,{class:"iconfont iconxiangyoujiantou text-xs"})])),_:1})])),_:1}),n(l,{class:"flex justify-between items-center mt-3"},{default:s((()=>[n(v,{class:"text-[30rpx] font-bold"},{default:s((()=>[u("购买数量")])),_:1}),n(_,{modelValue:J.value.num,"onUpdate:modelValue":e[2]||(e[2]=t=>J.value.num=t),onChange:Q},null,8,["modelValue"])])),_:1})])),_:1}),p(" 购买须知弹窗 "),n(y,{show:X.value,onClose:e[3]||(e[3]=t=>X.value=!1),closeable:!0},{default:s((()=>[n(l,{class:"text-center py-[30rpx] font-bold leading-none"},{default:s((()=>[n(v,null,{default:s((()=>[u("购买须知")])),_:1})])),_:1}),n(l,{class:"pt-[28rpx] pb-[40rpx]"},{default:s((()=>[Y.value?(r(),o(b,{key:0,content:Y.value},null,8,["content"])):(r(),o(v,{key:1,class:"block px-5"},{default:s((()=>[u("暂无购买须知")])),_:1}))])),_:1})])),_:1},8,["show"]),p(' <view class="chunk-wrap">\r\n\t\t\t<view class="chunk-head">\r\n\t\t\t\t<text>游客1信息</text>\r\n\t\t\t\t<view class="text-xs">需填写<text class="text-[#FF2F11]">1</text>位,用于入园身份验证</view>\r\n\t\t\t</view>\r\n\t\t\t<view class="py-2">\r\n\t\t\t\t<view class="flex my-2">\r\n\t\t\t\t\t<view class="w-[164rpx] h-[80rpx] rounded-md border-1 border-solid border-[#F0F0F0] relative flex items-center justify-center mr-2 select-box-color text-[#222]">\r\n\t\t\t\t\t\t<text class="text-sm">吴优</text>\r\n\t\t\t\t\t\t<text class="iconfont iconxuanze1 absolute -right-[2rpx] -bottom-[2rpx]"></text>\r\n\t\t\t\t\t</view>\r\n\t\t\t\t\t<view class="w-[164rpx] h-[80rpx] rounded-md border-1 border-solid border-[#F0F0F0] relative flex items-center justify-center mr-2 text-[#222]">\r\n\t\t\t\t\t\t<text class="text-sm">胡歌</text>\r\n\t\t\t\t\t\t<text class="iconfont iconxuanze1 absolute -right-[2rpx] -bottom-[2rpx]"></text>\r\n\t\t\t\t\t</view>\r\n\t\t\t\t\t<view class="w-[164rpx] h-[80rpx] rounded-md border-1 border-solid border-[#F0F0F0] relative flex items-center justify-center text-[#222]">\r\n\t\t\t\t\t\t<text class="text-sm">新增</text>\r\n\t\t\t\t\t\t<text class="iconfont iconxiangyoujiantou text-xs"></text>\r\n\t\t\t\t\t</view>\r\n\t\t\t\t</view>\r\n\t\t\t\t<u--form labelPosition="left" ref="form1" labelWidth="70" :labelStyle="{color: \'#A3A3A3\', fontSize: \'14px\'}">\r\n\t\t\t\t\t<u-form-item label="联系姓名" prop="userInfo.name" borderBottom>\r\n\t\t\t\t\t\t<view class="border-style">\r\n\t\t\t\t\t\t\t<u--input border="none" placeholder="请输入联系姓名" placeholderClass="text-sm" v-model="createData.buyer_info.name"></u--input>\r\n\t\t\t\t\t\t</view>\r\n\t\t\t\t\t</u-form-item>\r\n\t\t\t\t\t<u-form-item label="手机号" prop="userInfo.name" borderBottom>\r\n\t\t\t\t\t\t<view class="border-style">\r\n\t\t\t\t\t\t\t<u--input border="none" placeholder="请输入手机号" placeholderClass="text-sm" v-model="createData.mobile"></u--input>\r\n\t\t\t\t\t\t</view>\r\n\t\t\t\t\t</u-form-item>\r\n\t\t\t\t\t<u-form-item label="证件类型" borderBottom>\r\n\t\t\t\t\t\t<view class="border-style">\r\n\t\t\t\t\t\t\t<text class="text-sm">身份证</text>\r\n\t\t\t\t\t\t</view>\r\n\t\t\t\t\t</u-form-item>\r\n\t\t\t\t\t<u-form-item label="证件号" prop="userInfo.name" borderBottom>\r\n\t\t\t\t\t\t<view class="border-style !border-0">\r\n\t\t\t\t\t\t\t<u--input border="none" placeholder="请输入证件号" placeholderClass="text-sm" v-model="createData.buyer_info.id_card"></u--input>\r\n\t\t\t\t\t\t</view>\r\n\t\t\t\t\t</u-form-item>\r\n\t\t\t\t</u--form>\r\n\t\t\t</view>\r\n\t\t</view> '),(r(!0),d(f,null,c(J.value.num,(t=>(r(),o(l,{class:"chunk-wrap"},{default:s((()=>[n(l,{class:"chunk-head"},{default:s((()=>[n(v,null,{default:s((()=>[u("游客"+i(t)+"信息",1)])),_:2},1024)])),_:2},1024),n(l,{class:"py-2"},{default:s((()=>[n(W,{labelPosition:"left",ref_for:!0,ref:"form1",labelWidth:"70",labelStyle:{color:"#A3A3A3",fontSize:"14px"}},{default:s((()=>[n(T,{label:"联系姓名",prop:"userInfo.name",borderBottom:""},{default:s((()=>[n(l,{class:"border-style"},{default:s((()=>[n(P,{border:"none",placeholder:"请输入联系姓名",placeholderClass:"text-sm",modelValue:J.value.buyer_info[t-1].name,"onUpdate:modelValue":e=>J.value.buyer_info[t-1].name=e},null,8,["modelValue","onUpdate:modelValue"])])),_:2},1024)])),_:2},1024),1==t?(r(),o(T,{key:0,label:"手机号",prop:"userInfo.name",borderBottom:""},{default:s((()=>[n(l,{class:"border-style"},{default:s((()=>[n(P,{border:"none",type:"number",placeholder:"请输入手机号",placeholderClass:"text-sm",modelValue:J.value.mobile,"onUpdate:modelValue":e[4]||(e[4]=t=>J.value.mobile=t)},null,8,["modelValue"])])),_:1})])),_:1})):p("v-if",!0),n(T,{label:"证件类型",borderBottom:""},{default:s((()=>[n(l,{class:"border-style"},{default:s((()=>[n(v,{class:"text-sm"},{default:s((()=>[u("身份证")])),_:1})])),_:1})])),_:1}),n(T,{label:"证件号",prop:"userInfo.name",borderBottom:""},{default:s((()=>[n(l,{class:"border-style !border-0"},{default:s((()=>[n(P,{border:"none",type:"idcard",placeholder:"请输入证件号",placeholderClass:"text-sm",modelValue:J.value.buyer_info[t-1].id_card,"onUpdate:modelValue":e=>J.value.buyer_info[t-1].id_card=e},null,8,["modelValue","onUpdate:modelValue"])])),_:2},1024)])),_:2},1024)])),_:2},1536)])),_:2},1024)])),_:2},1024)))),256)),p(' <view class="chunk-wrap">\r\n\t\t\t<view class="chunk-head">\r\n\t\t\t\t<text>支付方式</text>\r\n\t\t\t</view>\r\n\t\t\t<view class="flex justify-between items-center h-[80rpx]">\r\n\t\t\t\t<view class="flex items-center">\r\n\t\t\t\t\t<image class="w-[42rpx] h-[42rpx]" :src="img(\'addon/tourism/tourism/way/discount_coupon.png\')" mode="widthFix"></image>\r\n\t\t\t\t\t<text class="ml-1 text-xs">微信支付</text>\r\n\t\t\t\t</view>\r\n\t\t\t\t<u-radio :labelDisabled="true"></u-radio>\r\n\t\t\t</view>\r\n\t\t</view>\r\n\t\t<view class="chunk-wrap">\r\n\t\t\t<view class="chunk-head">\r\n\t\t\t\t<text>优惠信息</text>\r\n\t\t\t</view>\r\n\t\t\t<view class="flex justify-between items-center h-[80rpx]">\r\n\t\t\t\t<view class="flex items-center">\r\n\t\t\t\t\t<image class="w-[42rpx] h-[42rpx]" :src="img(\'addon/tourism/tourism/way/discount_coupon.png\')" mode="widthFix"></image>\r\n\t\t\t\t\t<text class="ml-1 text-xs">抵用券</text>\r\n\t\t\t\t</view>\r\n\t\t\t\t<text class="text-[#999] text-xs flex items-center">查看<text class="iconfont iconxiangyoujiantou text-xs"></text></text>\r\n\t\t\t</view>\r\n\t\t</view> '),n(l,{class:"h-[148rpx] w-screen"}),n(l,{class:"bg-white p-3 fixed bottom-0 left-0 right-0 flex items-center justify-between"},{default:s((()=>[n(l,{class:"text-[#FA6400] text-xs"},{default:s((()=>[n(v,null,{default:s((()=>[u("总价")])),_:1}),n(v,{class:"ml-[2rpx] price-font"},{default:s((()=>[u("¥")])),_:1}),n(v,{class:"text-[38rpx] price-font"},{default:s((()=>{var t;return[u(i(null==(t=K.value.order_money)?void 0:t.toFixed(2)),1)]})),_:1})])),_:1}),n(l,{class:"ml-auto mr-2",onClick:e[5]||(e[5]=t=>M.value=!M.value)},{default:s((()=>[n(v,{class:"text-[#686868] text-xs mr-1"},{default:s((()=>[u("明细")])),_:1}),n(v,{class:"iconfont iconjiantoushang text-[#C2C2C2] text-xs font-bold"})])),_:1}),n(q,{class:"!w-[278rpx] !rounded-3xl !m-0",type:"primary",size:"16",loading:tt.value,onClick:et},{default:s((()=>[u("提交订单")])),_:1},8,["loading"])])),_:1}),n(y,{show:M.value,onClose:e[6]||(e[6]=t=>M.value=!1),closeable:!0},{default:s((()=>[n(l,{class:"text-center py-[30rpx] font-bold leading-none"},{default:s((()=>[n(v,null,{default:s((()=>[u("费用明细")])),_:1})])),_:1}),n(L,{"scroll-y":"true",class:"max-h-[40vh]"},{default:s((()=>[n(l,{class:"flex px-[30rpx] mt-[20rpx]"},{default:s((()=>[n(l,{class:"font-bold"},{default:s((()=>[u("总价")])),_:1}),n(l,{class:"text-right flex-1 font-bold price-font"},{default:s((()=>[n(v,{class:"text-sm font-normal"},{default:s((()=>[u("¥")])),_:1}),n(v,{class:"text-[38rpx]"},{default:s((()=>{var t;return[u(i(null==(t=K.value.order_money)?void 0:t.toFixed(2)),1)]})),_:1})])),_:1})])),_:1}),(r(!0),d(f,null,c(K.value.order_items,((t,e)=>(r(),o(l,{class:"flex px-[30rpx] mt-[10rpx] text-sm text-gray-subtitle"},{default:s((()=>[n(l,null,{default:s((()=>[u(i(t.year)+"-"+i(t.month)+"-"+i(t.day),1)])),_:2},1024),n(l,{class:"text-right flex-1"},{default:s((()=>[n(v,{class:"text-xs price-font"},{default:s((()=>[u("¥")])),_:1}),n(v,{class:"price-font"},{default:s((()=>[u(i(t.price),1)])),_:2},1024),n(v,{class:"mx-[10rpx]"},{default:s((()=>[u("x")])),_:1}),n(v,null,{default:s((()=>[u(i(t.num),1)])),_:2},1024)])),_:2},1024)])),_:2},1024)))),256)),n(l,{class:"flex px-[30rpx] mt-[10rpx] text-sm text-gray-subtitle"},{default:s((()=>[n(l,null,{default:s((()=>[u(i(K.value.reserve_time)+" 出发",1)])),_:1}),n(l,{class:"text-right flex-1"})])),_:1})])),_:1}),n(l,{class:"h-[150rpx]"})])),_:1},8,["show"]),n(lt,{ref_key:"payRef",ref:R,onClose:nt},null,512),H.value?(r(),o(l,{key:0,class:"w-screen h-screen flex flex-col justify-center items-center"},{default:s((()=>[n(at,{icon:"http://cdn.uviewui.com/uview/empty/order.png",text:H.value},null,8,["text"]),n(l,{class:"w-[240rpx] mt-[40rpx]"},{default:s((()=>[n(q,{type:"primary",text:"返回上一页",shape:"circle",onClick:ut})])),_:1})])),_:1})):p("v-if",!0),n(ot,{loading:G.value,"loading-text":"","bg-color":"none",loadingColor:"var(--primary-color)",iconSize:"35"},null,8,["loading"]),p(" 出发日期 "),m(dt)?(r(),o(st,{key:1,show:m(it),defaultDate:J.value.time,onConfirm:xt,onClose:e[7]||(e[7]=t=>x(it)?it.value=!1:it=!1),formatter:pt,confirmDisabledText:"请选择离店日期",ref:"calendar",monthNum:"2"},null,8,["show","defaultDate"])):p("v-if",!0)])),_:1})):p("v-if",!0)}}}),[["__scopeId","data-v-7472709a"]]);export{R as default};
|