mirror of
https://gitee.com/niucloud-team/niucloud-admin.git
synced 2026-04-03 11:10:28 +00:00
2 lines
12 KiB
JavaScript
2 lines
12 KiB
JavaScript
import{d as e,r as t,c as l,o as a,i as o,P as s,j as u,w as n,k as r,G as i,H as f,R as d,Q as c,n as m,m as p,aE as x,aI as _,_ as v,e as b,a0 as y,I as g,x as h,q as j,t as w,a7 as k,W as C,y as F,D}from"./index-faf5e276.js";import{_ as $}from"./u-form-item.a1ccf72c.js";import{_ as z}from"./u--input.d9f94a03.js";import{_ as S}from"./u--form.79cd9aae.js";import{_ as V}from"./u-picker.c470df8e.js";import{_ as I}from"./u-popup.a69d5115.js";import{_ as A}from"./pay.29236a27.js";import{_ as B}from"./u-button.9384f0e3.js";import{_ as E}from"./u-parse.2d43cacf.js";import{_ as O}from"./u-empty.721cd298.js";import{_ as N}from"./u-loading-page.4ec3ad33.js";import{n as U,o as q,p as P}from"./tourism.7006ebdc.js";import{_ as Q}from"./_plugin-vue_export-helper.1b428a4d.js";import"./u-icon.71776381.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-input.201a0a1e.js";import"./u-loading-icon.a6d83e95.js";import"./u-transition.bcacef93.js";import"./u-safe-bottom.c1f1e254.js";import"./u-image.44e221c2.js";import"./pay.6aff2817.js";import"./wechat.2fa35c62.js";const R=Q(e({__name:"order",setup(e){const Q=t(null),R=t(!0),T=t(""),W=t(uni.getStorageSync("hotelCreateData")||{}),G=t(null),H=t(!1),J=l((()=>{const e=[];for(let t=1;t<=10;t++)e.push({label:`${t}间`,id:t});return[e]})),K=t(!1);let L=t(!1);a((()=>{U(W.value).then((({data:e})=>{R.value=!1,G.value=e,Y()})).catch((e=>{T.value=e.msg,R.value=!1}))}));const M=t(!1),Z=()=>{if(X()){if(M.value)return;M.value=!0;const e=uni.$u.deepClone(_(W.value));e.buyer_info=JSON.stringify(e.buyer_info),q(e).then((({data:e})=>{var t;null==(t=Q.value)||t.open(e.trade_type,e.trade_id,`/tourism/pages/order/detail?order_id=${e.trade_id}`),M.value=!1})).catch((e=>{M.value=!1,v({title:e.msg,icon:"none"})}))}},X=()=>{let e=!0;for(let t=0;t<W.value.buyer_info.length;t++){const l=W.value.buyer_info[t];if(uni.$u.test.isEmpty(l.name)){e=!1,v({title:"请输入"+(t?`房间${t+1}的`:"")+"入住人姓名",icon:"none"});break}}return!!e&&(uni.$u.test.isEmpty(W.value.mobile)?(v({title:"请输入手机号",icon:"none"}),!1):!!uni.$u.test.mobile(W.value.mobile)||(v({title:"请输入正确的手机号",icon:"none"}),!1))},Y=()=>{var e,t;W.value.buyer_info=[{name:""}],W.value.mobile="",G.value.start_time=te(null==(e=G.value)?void 0:e.start_time),G.value.end_time=te(null==(t=G.value)?void 0:t.end_time)},ee=l((()=>G.value?G.value.goods_info.goods_attribute.split(","):[])),te=e=>{const t=new Date(e);return uni.$u.timeFormat(t,"mm月dd日 ")+["周日","周一","周二","周三","周四","周五","周六"][t.getDay()]},le=e=>{W.value.num=e.value[0].id,H.value=!1;for(let t=0;t<W.value.num;t++)null==W.value.buyer_info[t]&&(W.value.buyer_info[t]={name:""});W.value.buyer_info.length>W.value.num&&W.value.buyer_info.splice(W.value.num-1,W.value.buyer_info.length-W.value.num),R.value=!0,P(W.value).then((({data:e})=>{G.value=e,R.value=!1})).catch((e=>{R.value=!1,v({title:e.msg,icon:"none"})}))},ae=()=>{b({url:"/tourism/pages/order/list",mode:"redirectTo"})};let oe=t({});const se=()=>{oe.value=G.value.order_items[0],L.value=!0},ue=()=>{y()};return(e,t)=>{const l=g,a=h,_=j(w("u-form-item"),$),v=j(w("u--input"),z),b=j(w("u--form"),S),y=j(w("u-picker"),V),U=k,q=j(w("u-popup"),I),P=j(w("pay"),A),X=j(w("u-button"),B),Y=C,te=j(w("u-parse"),E),ne=j(w("u-empty"),O),re=j(w("u-loading-page"),N);return o(),s(d,null,[G.value?(o(),u(a,{key:0,class:"bg-[#f7f7f7] min-h-screen overflow-hidden"},{default:n((()=>[r(a,{class:"chunk-wrap pb-2 pt-2"},{default:n((()=>[r(a,{class:"chunk-head h-[88rpx]"},{default:n((()=>[r(l,null,{default:n((()=>[i(f(G.value.goods_info.goods_name),1)])),_:1}),r(a,{class:"text-[#797C8D] text-xs",onClick:se},{default:n((()=>[r(l,{class:"!font-normal"},{default:n((()=>[i("房型详情")])),_:1}),r(l,{class:"iconfont iconxiangyoujiantou text-xs"})])),_:1})])),_:1}),r(a,{class:"text-[26rpx] text-[#19293F] font-bold mt-3"},{default:n((()=>[i(f(G.value.start_time)+" - "+f(G.value.end_time)+" 共"+f(G.value.days)+"晚",1)])),_:1}),r(a,{class:"house-type"},{default:n((()=>[(o(!0),s(d,null,c(m(ee),(e=>(o(),u(l,{class:"house-type-item"},{default:n((()=>[i(f(e),1)])),_:2},1024)))),256))])),_:1}),r(a,{class:"border-0 border-t border-solid border-[#F2F2F2] mt-2 h-[80rpx] flex items-center"},{default:n((()=>[r(l,{class:"iconfont iconyuandianfengefu text-[#D1D7E0]"}),r(l,{class:"text-xs"},{default:n((()=>[i("入住时间:14:00以后 离店时间:12:00以前")])),_:1})])),_:1})])),_:1}),r(a,{class:"chunk-wrap"},{default:n((()=>[r(a,{class:"chunk-head"},{default:n((()=>[r(l,null,{default:n((()=>[i("入住信息")])),_:1})])),_:1}),r(a,{class:"py-2"},{default:n((()=>[r(b,{labelPosition:"left",ref:"form1",labelWidth:"90",labelStyle:{color:"#A3A3A3",fontSize:"14px"}},{default:n((()=>[r(_,{label:"房间数",prop:"userInfo.name",borderBottom:"",onClick:t[0]||(t[0]=e=>H.value=!0)},{default:n((()=>[r(a,{class:"border-style relative"},{default:n((()=>[r(a,null,{default:n((()=>[i(f(W.value.num)+"间",1)])),_:1}),r(a,{class:"text-xs text-[#797C8D] absolute select-room"},{default:n((()=>[r(l,null,{default:n((()=>[i("选择")])),_:1}),r(l,{class:"iconfont iconxiangyoujiantou text-xs"})])),_:1})])),_:1})])),_:1}),(o(!0),s(d,null,c(W.value.num,(e=>(o(),u(_,{label:W.value.num>1?"房间"+e:"入住人",prop:"userInfo.name",borderBottom:""},{default:n((()=>[r(a,{class:"border-style"},{default:n((()=>[r(v,{border:"none",placeholder:"每间需要1位入住人姓名",placeholderClass:"text-sm",modelValue:W.value.buyer_info[e-1].name,"onUpdate:modelValue":t=>W.value.buyer_info[e-1].name=t},null,8,["modelValue","onUpdate:modelValue"])])),_:2},1024)])),_:2},1032,["label"])))),256)),r(_,{label:"手机号",prop:"userInfo.name",borderBottom:""},{default:n((()=>[r(a,{class:"border-style !border-0"},{default:n((()=>[r(v,{border:"none",placeholder:"用于接收预订信息",placeholderClass:"text-sm",modelValue:W.value.mobile,"onUpdate:modelValue":t[1]||(t[1]=e=>W.value.mobile=e)},null,8,["modelValue"])])),_:1})])),_:1})])),_:1},512)])),_:1})])),_:1}),r(y,{show:H.value,columns:m(J),keyName:"label",closeOnClickOverlay:!0,onCancel:t[2]||(t[2]=e=>H.value=!1),onConfirm:le},null,8,["show","columns"]),r(q,{show:K.value,onClose:t[3]||(t[3]=e=>K.value=!1),closeable:!0},{default:n((()=>[r(a,{class:"text-center py-[30rpx] font-bold leading-none"},{default:n((()=>[r(l,null,{default:n((()=>[i("费用明细")])),_:1})])),_:1}),r(U,{"scroll-y":"true",class:"max-h-[40vh]"},{default:n((()=>[r(a,{class:"flex px-[30rpx] mt-[20rpx]"},{default:n((()=>[r(a,{class:"font-bold"},{default:n((()=>[i("总价")])),_:1}),r(a,{class:"text-right flex-1 font-bold price-font"},{default:n((()=>[r(l,{class:"text-sm font-normal"},{default:n((()=>[i("¥")])),_:1}),r(l,{class:"text-[38rpx]"},{default:n((()=>{var e;return[i(f(null==(e=G.value.order_money)?void 0:e.toFixed(2)),1)]})),_:1})])),_:1})])),_:1}),(o(!0),s(d,null,c(G.value.order_items,((e,t)=>(o(),u(a,{class:"flex px-[30rpx] mt-[10rpx] text-sm text-gray-subtitle"},{default:n((()=>[r(a,null,{default:n((()=>[i(f(e.year)+"-"+f(e.month)+"-"+f(e.day),1)])),_:2},1024),r(a,{class:"text-right flex-1"},{default:n((()=>[r(l,{class:"text-xs price-font"},{default:n((()=>[i("¥")])),_:1}),r(l,{class:"price-font"},{default:n((()=>[i(f(e.price),1)])),_:2},1024),r(l,{class:"mx-[10rpx]"},{default:n((()=>[i("x")])),_:1}),r(l,null,{default:n((()=>[i(f(e.num),1)])),_:2},1024)])),_:2},1024)])),_:2},1024)))),256)),r(a,{class:"flex px-[30rpx] mt-[10rpx] text-sm text-gray-subtitle"},{default:n((()=>[r(a,null,{default:n((()=>[i(f(W.value.end_time)+" 离店日",1)])),_:1}),r(a,{class:"text-right flex-1"})])),_:1})])),_:1}),r(a,{class:"h-[150rpx]"})])),_:1},8,["show"]),r(P,{ref_key:"payRef",ref:Q,onClose:ae},null,512),r(a,{class:"h-[148rpx] w-screen"}),r(a,{class:"bg-white p-3 fixed bottom-0 left-0 right-0 flex items-center justify-between z-10 shadow"},{default:n((()=>[r(a,{class:"text-[#FA6400] text-xs"},{default:n((()=>[r(l,null,{default:n((()=>[i("总价")])),_:1}),r(l,{class:"ml-[2rpx] price-font"},{default:n((()=>[i("¥")])),_:1}),r(l,{class:"text-[38rpx] price-font"},{default:n((()=>{var e;return[i(f(null==(e=G.value.order_money)?void 0:e.toFixed(2)),1)]})),_:1})])),_:1}),r(a,{class:"ml-auto mr-2",onClick:t[4]||(t[4]=e=>K.value=!K.value)},{default:n((()=>[r(l,{class:"text-[#686868] text-xs mr-1"},{default:n((()=>[i("明细")])),_:1}),r(l,{class:"iconfont iconjiantoushang text-[#C2C2C2] text-xs font-bold"})])),_:1}),r(X,{class:"!w-[278rpx] !rounded-3xl !m-0",type:"primary",size:"16",loading:M.value,onClick:Z},{default:n((()=>[i("提交订单")])),_:1},8,["loading"])])),_:1}),p(" 酒店房型详情 "),r(q,{show:m(L),mode:"bottom",round:10,onClose:t[6]||(t[6]=e=>x(L)?L.value=!1:L=!1)},{default:n((()=>[r(a,{class:"flex flex-col rounded-t-3xl bg-[#f8f8f8] overflow-hidden relative z-10"},{default:n((()=>[r(a,{class:"text-base font-bold flex justify-between items-center h-[96rpx] px-[26rpx] bg-[#fff]"},{default:n((()=>[r(l,{class:"text-[30rpx]"},{default:n((()=>[i(f(m(oe).goods_name),1)])),_:1}),r(l,{class:"iconfont iconguanbi text-[#666]",onClick:t[5]||(t[5]=e=>x(L)?L.value=!1:L=!1)})])),_:1}),r(Y,{src:m(F)(m(oe).goods_image),class:"w-[750rpx] h-[218]",mode:"aspectFill"},null,8,["src"]),r(a,{class:"px-4 bg-[#fff]"},{default:n((()=>[r(a,{class:"flex justify-between border-0 border-b-1 border-[#F2F2F2] border-solid px-1 py-4"},{default:n((()=>[r(a,{class:"flex flex-col items-center justify-center"},{default:n((()=>[r(l,{class:"iconfont iconchuang1 text-[36rpx] text-[#555] mb-1"}),r(l,{class:"text-xs font-bold"},{default:n((()=>[i(f(m(oe).room_bed||"双人床"),1)])),_:1})])),_:1}),r(a,{class:"flex flex-col items-center justify-center"},{default:n((()=>[r(l,{class:"iconfont iconlouceng text-[36rpx] text-[#555] mb-1"}),r(l,{class:"text-xs font-bold"},{default:n((()=>[i(f(m(oe).room_floor||"1层"),1)])),_:1})])),_:1}),r(a,{class:"flex flex-col items-center justify-center"},{default:n((()=>[r(l,{class:"iconfont iconfangzi text-[36rpx] text-[#555] mb-1"}),r(l,{class:"text-xs font-bold"},{default:n((()=>[i(f(m(oe).room_area||0)+"m2",1)])),_:1})])),_:1}),r(a,{class:"flex flex-col items-center justify-center"},{default:n((()=>[r(l,{class:"iconfont iconpeople text-[36rpx] text-[#555] mb-1"}),r(l,{class:"text-xs font-bold"},{default:n((()=>[i(f(m(oe).room_stay||1)+"人",1)])),_:1})])),_:1}),r(a,{class:"flex flex-col items-center justify-center"},{default:n((()=>[r(l,{class:"iconfont iconshuliang text-[36rpx] text-[#555] mb-1"}),r(l,{class:"text-xs font-bold"},{default:n((()=>[i(f(m(oe).stock||0)+"间",1)])),_:1})])),_:1})])),_:1}),m(oe).goods_attribute?(o(),u(a,{key:0,class:"flex items-center my-4"},{default:n((()=>[r(l,{class:"mr-2 text-sm"},{default:n((()=>[i("房间设施")])),_:1}),r(a,null,{default:n((()=>[(o(!0),s(d,null,c(m(oe).goods_attribute.split(","),((e,t)=>{var a,s;return o(),u(l,{class:D(["mr-1 text-sm",{"class-select":t<(null==(s=null==(a=m(oe).goods_attribute)?void 0:a.split(","))?void 0:s.length)-1}])},{default:n((()=>[i(f(e),1)])),_:2},1032,["class"])})),256))])),_:1})])),_:1})):p("v-if",!0)])),_:1}),r(a,{class:"mt-2 px-3 bg-[#fff]"},{default:n((()=>[r(a,{class:"border-0 border-b-1 border-[#F2F2F2] border-solid py-3 text-[30rpx] font-bold"},{default:n((()=>[i(" 房型详情 ")])),_:1}),r(a,{class:"py-3 px-1"},{default:n((()=>[m(oe).goods_content?(o(),u(te,{key:0,content:m(oe).goods_content},null,8,["content"])):(o(),u(a,{key:1},{default:n((()=>[i("暂无房型详情")])),_:1}))])),_:1})])),_:1})])),_:1})])),_:1},8,["show"])])),_:1})):p("v-if",!0),T.value?(o(),u(a,{key:1,class:"w-screen h-screen flex flex-col justify-center items-center"},{default:n((()=>[r(ne,{icon:"http://cdn.uviewui.com/uview/empty/order.png",text:T.value},null,8,["text"]),r(a,{class:"w-[240rpx] mt-[40rpx]"},{default:n((()=>[r(X,{type:"primary",text:"返回上一页",shape:"circle",onClick:ue})])),_:1})])),_:1})):p("v-if",!0),r(re,{loading:R.value,"loading-text":"","bg-color":"none",loadingColor:"var(--primary-color)",iconSize:"35"},null,8,["loading"])],64)}}}),[["__scopeId","data-v-6dda4781"]]);export{R as default};
|