2 lines
4.1 KiB
JavaScript
2 lines
4.1 KiB
JavaScript
import{m as e,p as a,r as t,q as s,u as n,c as l,d as i,w as o,v as c,x as r,z as d,e as u,f as p,g as m,A as v,h as f,F as g,y as _,B as y,t as b,b as h,i as k,j as T,G as w,H as x}from"./index-DrZc8biM.js";import{A as C}from"./AppIcon.M7CZvvJr.js";import{_ as j,n as N}from"./_plugin-vue_export-helper.2L545UbL.js";import{g as $,c as z,d as B}from"./index.DsJtDI4O.js";import{f as A}from"./datetime.CB5sbvg8.js";import{g as I,b as M}from"./appointment.SHi7qFlK.js";const H=j({__name:"MyOrders",emits:["change-page"],setup(j,{emit:H}){const O=e(),q=O.id,F=(()=>{var e,t;const s=(null==(e=a)?void 0:e().statusBarHeight)||20;let n=s+44;const l=null==(t=uni.getMenuButtonBoundingClientRect)?void 0:t.call(uni);if(l&&l.top&&l.height){n=s+2*Math.max(l.top-s,4)+l.height}return`padding-top:${s}px;height:${n}px;`})(),G=t("new"),J=t([]),R=[{title:"待确认",name:"new"},{title:"进行中",name:"doing"},{title:"已完成",name:"done"}],S=s(()=>J.value.filter(e=>"new"===G.value?"new"===e.status:"doing"===G.value?"doing"===e.status:"done"!==G.value||("done"===e.status||"cancel"===e.status))),D=async()=>{if(!q)return;const e=await $(q);200===e.code&&(J.value=e.data.map(e=>({id:e.id,title:e.serviceType||"洗澡美容预约",desc:`${e.petType||""} - ${e.petName||""}`,time:A(e.appointmentTime),status:e.status||"new",statusText:I(e.status),petName:e.petName,petType:e.petType,serviceType:e.serviceType,appointmentTime:e.appointmentTime})))};return n(()=>D()),(e,a)=>{const t=v,s=p,n=k;return m(),l("div",{class:"page-shell orders-page"},[i(s,{class:"orders-nav nav-gradient",style:c(r(F))},{default:o(()=>[i(t,{class:"nav-back",onClick:a[0]||(a[0]=e=>r(N)("mine"))},{default:o(()=>[i(C,{name:"back",size:18,color:"#ffffff"})]),_:1}),i(t,{class:"nav-title"},{default:o(()=>[f("我的订单")]),_:1}),i(s,{class:"nav-placeholder"})]),_:1},8,["style"]),i(s,{class:"page-section orders-hero"},{default:o(()=>[i(s,{class:"hero-title"},{default:o(()=>[f("服务进度一目了然")]),_:1}),i(s,{class:"hero-sub"},{default:o(()=>[f("按状态查看订单,待确认可快速开始服务,进行中可直接填写报告。")]),_:1})]),_:1}),i(s,{class:"van-tabs"},{default:o(()=>[(m(),l(g,null,_(R,e=>i(s,{key:e.name,class:y(["van-tabs__tab",{active:G.value===e.name}]),onClick:a=>G.value=e.name},{default:o(()=>[f(b(e.title),1)]),_:2},1032,["class","onClick"])),64))]),_:1}),i(s,{class:"page-section section-gap"},{default:o(()=>[(m(!0),l(g,null,_(S.value,e=>{return m(),l("div",{key:e.id,class:"order-item"},[h("div",{class:"order-head"},[h("div",{class:"order-title"},b(e.title),1),i(s,{class:y(`van-tag van-tag--${a=e.status,M(a)}`)},{default:o(()=>[f(b(e.statusText),1)]),_:2},1032,["class"])]),h("div",{class:"order-desc"},[h("span",{class:"desc-icon"},[i(C,{name:"profile",size:12})]),h("span",null,b(e.desc),1)]),h("div",{class:"order-footer"},[h("span",{class:"order-time"},[i(C,{name:"orders",size:12,color:"#94a3b8"}),i(t,null,{default:o(()=>[f(b(e.time),1)]),_:2},1024)])]),"new"===e.status?(m(),l("div",{key:0,class:"action-btns"},[i(n,{class:"van-button van-button--small van-button--primary",onClick:a=>(async e=>{const a=await z(e.id,O.id);200===a.code?(T({title:"已开始服务",icon:"success"}),D()):T({title:a.message||"操作失败",icon:"none"})})(e)},{default:o(()=>[f("开始服务")]),_:2},1032,["onClick"]),i(n,{class:"van-button van-button--small",onClick:a=>(async e=>{w({title:"提示",content:"确定取消该预约?",success:async a=>{a.confirm&&200===(await B(e.id)).code&&(T({title:"已取消",icon:"success"}),D())}})})(e)},{default:o(()=>[f("取消")]),_:2},1032,["onClick"])])):"doing"===e.status?(m(),d(n,{key:1,class:"van-button van-button--small btn-mt",onClick:a=>(e=>{x("petstore_report_prefill",JSON.stringify({appointmentId:e.id,petName:e.petName,serviceType:e.serviceType,appointmentTime:e.appointmentTime})),N("report")})(e)},{default:o(()=>[f("填写报告")]),_:2},1032,["onClick"])):u("",!0)]);var a}),128))]),_:1}),0===S.value.length?(m(),d(s,{key:0,class:"empty"},{default:o(()=>[i(t,null,{default:o(()=>[f("暂无数据")]),_:1})]),_:1})):u("",!0)])}}},[["__scopeId","data-v-be66263e"]]);export{H as default};
|