liujie
2026-09-14 82a8bc62d5b9d5d607f6952329952b17eda2f0a0
1
import{c as e,w as i,s as t,u as s,i as n,r,o as c,a,S as l,f as o,d,x as u,t as m,b as p,M as g,p as h,F as f,q as v,n as P,g as _,e as b}from"./index-sVD-BO6M.js";import{_ as I}from"./guide-nav-bar.Calsbdur.js";import{_ as M,r as S}from"./uni-app.es.Bk8oaKUr.js";import{u as k,g as C}from"./guide.CwypCyrH.js";import{o as y,b as N,h as w}from"./map.C_mmf2ly.js";import{r as T}from"./router.DrNfFJ-r.js";import{_ as q}from"./chevron-down.BgPi93CK.js";import"./system.CMm6Pfb4.js";function x(e,i){if(!e)return"";const t=function(e){if(null==e||""===e)return"";const i=Number(e);return Number.isFinite(i)?i.toFixed(2).replace(/\.?0+$/,""):""}(e.discountPrice??e.originalPrice);return t?`¥${t}/${i}`:""}function R(e){if(!e||null===e.durationMinutes||void 0===e.durationMinutes)return"-";const i=Number(e.durationMinutes);return Number.isFinite(i)&&i>0?`${i}分钟`:"-"}function E(e,i){if(!e||null===e.minParticipants||void 0===e.minParticipants)return"-";const t=Number(e.minParticipants),s=null===e.maxParticipants||void 0===e.maxParticipants?t:Number(e.maxParticipants);return Number.isFinite(t)&&Number.isFinite(s)?i?`${t}-${s}人`:`${s}人(含)内`:"-"}const $=M({components:{GuideNavBar:I},data:()=>({scenics:[],scenicId:"",meetingPointId:"",premiumEnabled:!1,requiredOrderCount:0,requiredRating:0,selectedServiceIds:["quick"],services:[{id:"quick",title:"快讲",groupDuration:"30分钟",privateDuration:"30分钟",groupPeople:"20-25人",groupPrice:"",privatePeople:"6人(含)内",privatePrice:""},{id:"deep",title:"精讲",groupDuration:"30分钟",privateDuration:"30分钟",groupPeople:"10团,总平均评分 >4.5分,可解锁精讲",groupPrice:"",privatePeople:"6人(含)内",privatePrice:"",disabled:!0,note:"总接单数≥10团,总平均评分 ≥4.5分,可解锁精讲"}]}),computed:{scenicNames(){return this.scenics.map(e=>e.name)},currentScenic(){return this.scenics.find(e=>e.id===this.scenicId)||{}},currentMeetingPoints(){return this.currentScenic.meetingPoints||[]},meetingPointNames(){return this.currentMeetingPoints.map(e=>e.name)},currentMeetingPoint(){return this.currentMeetingPoints.find(e=>e.id===this.meetingPointId)||{}},hasMeetingPointLocation(){return w(this.currentMeetingPoint)},mapCircles(){return N(this.currentMeetingPoint)}},onLoad(){C().then(e=>{const i=e.scenics||[];this.scenics=i,this.premiumEnabled=!0===e.premiumEnabled||1===e.premiumEnabled||"true"===e.premiumEnabled||"1"===e.premiumEnabled,this.requiredOrderCount=Number(e.requiredOrderCount||0),this.requiredRating=Number(e.requiredRating||0),i.length&&(this.scenicId=i[0].id,this.meetingPointId=i[0].meetingPoints&&i[0].meetingPoints[0]&&i[0].meetingPoints[0].id||"",this.refreshServices())}).catch(e=>t({title:e.message||"接单配置加载失败",icon:"none"}))},methods:{goBack(){s({fail(){T("/pages/workbench/index","reLaunch")}})},handleScenicChange(e){const i=this.scenics[e.detail.value];i&&(this.scenicId=i.id,this.meetingPointId=i.meetingPoints&&i.meetingPoints[0]&&i.meetingPoints[0].id||"",this.refreshServices())},handleMeetingPointChange(e){const i=this.currentMeetingPoints[e.detail.value];i&&(this.meetingPointId=i.id)},toggleService(e){if(!e.disabled)return this.selectedServiceIds.includes(e.id)?1===this.selectedServiceIds.length?void t({title:"至少选择一种接单类型",icon:"none"}):void(this.selectedServiceIds=this.selectedServiceIds.filter(i=>i!==e.id)):void this.selectedServiceIds.push(e.id);t({title:e.note||"暂不可选",icon:"none"})},refreshServices(){const e=this.currentScenic.services||[];this.services=[{id:"quick",code:"QUICK",title:"快讲"},{id:"deep",code:"PREMIUM",title:"精讲"}].map(i=>{const t=e.find(e=>e.serviceType===`GROUP_${i.code}`),s=e.find(e=>e.serviceType===`PRIVATE_${i.code}`),n=[t&&t.serviceType,s&&s.serviceType].filter(Boolean);if(!n.length)return null;const r="deep"===i.id&&!this.premiumEnabled;return{id:i.id,serviceTypes:n,title:i.title,groupDuration:R(t),privateDuration:R(s),groupPeople:E(t,!0),groupPrice:x(t,"人"),privatePeople:E(s,!1),privatePrice:x(s,"团"),disabled:r,note:r?`累计接单数≥${this.requiredOrderCount},评分≥${this.requiredRating}可开启精讲`:""}}).filter(Boolean);const i=this.services.filter(e=>!e.disabled).map(e=>e.id);this.selectedServiceIds=this.selectedServiceIds.filter(e=>i.includes(e)),!this.selectedServiceIds.length&&i.length&&(this.selectedServiceIds=[i[0]])},showRule(){T("/pages/agreement-detail/index?type=reward")},viewMeetingPoint(){y({scenicId:this.currentScenic.id,scenicName:this.currentScenic.name,...this.currentMeetingPoint})},startReceiving(){if(!this.scenicId||!this.meetingPointId)return void t({title:"请选择景区和汇合点",icon:"none"});const e=this.services.filter(e=>this.selectedServiceIds.includes(e.id));e.length?e.some(e=>!Array.isArray(e.serviceTypes)||!e.serviceTypes.length)?t({title:"接单配置加载中,请稍后重试",icon:"none"}):e.some(e=>e.serviceTypes.some(e=>e.endsWith("_PREMIUM"))&&!this.premiumEnabled)?t({title:"当前未开通精讲接单权限",icon:"none"}):k("online",{scenicSpotId:this.scenicId,meetingPointId:this.meetingPointId,receivingMode:"ALL",latitude:this.currentMeetingPoint.latitude,longitude:this.currentMeetingPoint.longitude,serviceTypes:e.reduce((e,i)=>e.concat(i.serviceTypes),[])}).then(()=>{t({title:"已开始接单",icon:"success"}),setTimeout(()=>{T("/pages/workbench/index","redirectTo")},600)}).catch(e=>t({title:e.message||"开启接单失败",icon:"none"})):t({title:"至少选择一种接单类型",icon:"none"})}}},[["render",function(t,s,M,k,C,y){const N=S(r("guide-nav-bar"),I),w=o,T=p,x=n,R=u,E=g,$=l,F=b;return c(),e(x,{class:"receiving-page"},{default:i(()=>[a(N,{title:"接单选择",onBack:y.goBack},null,8,["onBack"]),a($,{"scroll-y":"",class:"content-scroll"},{default:i(()=>[a(x,{class:"form-wrap"},{default:i(()=>[a(x,{class:"select-field"},{default:i(()=>[a(w,{class:"field-label"},{default:i(()=>[d("接单景区")]),_:1}),a(R,{class:"field-control",range:y.scenicNames,onChange:y.handleScenicChange},{default:i(()=>[a(x,{class:"select-box"},{default:i(()=>[a(w,null,{default:i(()=>[d(m(y.currentScenic.name||"下拉菜单"),1)]),_:1}),a(T,{class:"select-icon",src:q,mode:"aspectFit"})]),_:1})]),_:1},8,["range","onChange"])]),_:1}),a(x,{class:"select-field"},{default:i(()=>[a(w,{class:"field-label"},{default:i(()=>[d("接单汇合点")]),_:1}),a(R,{class:"field-control",range:y.meetingPointNames,onChange:y.handleMeetingPointChange},{default:i(()=>[a(x,{class:"select-box"},{default:i(()=>[a(w,null,{default:i(()=>[d(m(y.currentMeetingPoint.name||"下拉菜单"),1)]),_:1}),a(T,{class:"select-icon",src:q,mode:"aspectFit"})]),_:1})]),_:1},8,["range","onChange"])]),_:1}),a(x,{class:"map-section"},{default:i(()=>[a(w,{class:"section-label"},{default:i(()=>[d("汇合点")]),_:1}),a(x,{class:"map-card"},{default:i(()=>[y.hasMeetingPointLocation?(c(),e(E,{key:0,class:"meeting-map",latitude:y.currentMeetingPoint.latitude,longitude:y.currentMeetingPoint.longitude,scale:16,circles:y.mapCircles,"show-location":!0,"enable-scroll":!0,"enable-zoom":!0,"enable-rotate":!1,"enable-overlooking":!1},null,8,["latitude","longitude","circles"])):(c(),e(x,{key:1,class:"map-empty"},{default:i(()=>[d("汇合点坐标待配置")]),_:1})),a(x,{class:"map-meta",onClick:y.viewMeetingPoint},{default:i(()=>[a(x,{class:"map-meta-main"},{default:i(()=>[a(w,{class:"map-name"},{default:i(()=>[d(m(y.currentMeetingPoint.name||"请选择汇合点"),1)]),_:1}),a(w,{class:"map-address"},{default:i(()=>[d(m(y.currentMeetingPoint.address||"选定后可查看汇合点定位"),1)]),_:1})]),_:1}),a(w,{class:"map-link"},{default:i(()=>[d("查看详情")]),_:1})]),_:1},8,["onClick"])]),_:1})]),_:1}),a(x,{class:"service-list"},{default:i(()=>[(c(!0),h(f,null,v(C.services,t=>(c(),e(x,{key:t.id,class:P(["service-card",{disabled:t.disabled}]),onClick:e=>y.toggleService(t)},{default:i(()=>[a(x,{class:"service-title"},{default:i(()=>[d(m(t.title),1)]),_:2},1024),a(x,{class:"service-row"},{default:i(()=>[a(w,{class:"service-type"},{default:i(()=>[d("拼团")]),_:1}),a(w,{class:"service-duration"},{default:i(()=>[d(m(t.groupDuration),1)]),_:2},1024),a(w,{class:"service-desc"},{default:i(()=>[d(m(t.groupPeople),1)]),_:2},1024),a(w,{class:"service-price"},{default:i(()=>[d(m(t.groupPrice),1)]),_:2},1024)]),_:2},1024),a(x,{class:"service-row"},{default:i(()=>[a(w,{class:"service-type"},{default:i(()=>[d("包团")]),_:1}),a(w,{class:"service-duration"},{default:i(()=>[d(m(t.privateDuration),1)]),_:2},1024),a(w,{class:"service-desc"},{default:i(()=>[d(m(t.privatePeople),1)]),_:2},1024),a(w,{class:"service-price"},{default:i(()=>[d(m(t.privatePrice),1)]),_:2},1024)]),_:2},1024),a(x,{class:P(["check-circle",{active:C.selectedServiceIds.includes(t.id)}])},null,8,["class"]),t.note?(c(),e(x,{key:0,class:"service-note"},{default:i(()=>[d(m(t.note),1)]),_:2},1024)):_("",!0)]),_:2},1032,["class","onClick"]))),128))]),_:1}),a(x,{class:"tips"},{default:i(()=>[d("*接单类型可多选")]),_:1}),a(x,{class:"rule-link",onClick:y.showRule},{default:i(()=>[d(" 点击查看 "),a(w,null,{default:i(()=>[d("《平台奖惩机制》")]),_:1})]),_:1},8,["onClick"])]),_:1})]),_:1}),a(x,{class:"bottom-action"},{default:i(()=>[a(F,{class:"confirm-button",onClick:y.startReceiving},{default:i(()=>[d("确认开始接单")]),_:1},8,["onClick"])]),_:1})]),_:1})}],["__scopeId","data-v-9e1021e7"]]);export{$ as default};