import { defineComponent } from "vue-demi"; import { h } from "../../../utils"; import { useState } from "../use"; import "../styles/route-plans.scss"; export const RoutePlans = defineComponent({ setup() { const state = useState(); return () => h( "div", { class: "route-plans" }, [ // 驾车方案 state.drivingPlans.length ? h( "div", null, state.drivingPlans.map((plan, planIndex) => h( "details", { on: { click: () => { state.drivingPlanIndex = planIndex; } } }, [ h("summary", null, `方案${planIndex + 1}: ${plan.duration} 秒 | ${plan.distance} 公里`), ...plan.routes.item.map((item, itemIndex) => { return h("div", null, `${itemIndex + 1}.${item.strguide}`); }) ] ) ) ) : "", // 公交方案 state.drivingPlans.length ? h( "div", null, state.transitPlans.map((plan, planIndex) => h( "details", { on: { click: () => { state.transitPlanIndex = planIndex; } }, style: { backgroundColor: "#fff" } }, [ h("summary", null, `方案${planIndex + 1}: ${plan.lineName}`), plan.segments .map((segment, segmentIndex) => { const segmentLine = segment.segmentLine[0]; //经过的公交或地铁的站数 const stationCount = segmentLine.segmentStationCount ? ",经过" + segmentLine.segmentStationCount + "站" : ""; switch (segment.segmentType) { case 1: return "步行约" + segmentLine.segmentDistance + "米,到达" + segment.stationEnd.name; case 2: case 3: return "乘坐" + segmentLine.direction + stationCount + ",到达" + segment.stationEnd.name; case 4: return "站内换乘"; default: return ""; } }) .join(",") + "终点" ] ) ) ) : "" ] ); } });