feat:修改呼单页卡片背景和车图UI、发单页部分UI、等待呼单地图气泡等
8个文件已修改
71 ■■■■■ 已修改文件
src/robotaxi/pages/begin-route/components/calling-car-modules/trip-status-header.tsx 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/robotaxi/pages/begin-route/components/calling-car.tsx 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/robotaxi/pages/begin-route/components/css-folder/calling-car.less 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/robotaxi/pages/begin-route/components/css-folder/cancel-popup.less 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/robotaxi/pages/begin-route/components/css-folder/modify-destination-review.less 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/robotaxi/pages/begin-route/components/css-folder/route-selection-panel.less 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/robotaxi/pages/begin-route/hooks/use-view-delegates.tsx 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/robotaxi/pages/begin-route/index.less 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/robotaxi/pages/begin-route/components/calling-car-modules/trip-status-header.tsx
@@ -179,9 +179,9 @@
              <Image className='calling-car-site-check' src='https://s.xiaopeng.com/xp-fe/robot-taxi/imgs/v2/route-state-icon-black-20260702.png'></Image>
            </View>
            <View className='calling-car-site-box-content'>
              <View>{startSiteName}</View>
              <View className='calling-car-site-box-content-name'>{startSiteName}</View>
              <View className='calling-car-site-box-divider'></View>
              <View>{endSiteName}</View>
              <View className='calling-car-site-box-content-name'>{endSiteName}</View>
            </View>
          </View>
        </>
src/robotaxi/pages/begin-route/components/calling-car.tsx
@@ -166,6 +166,7 @@
    /** 是否为“到达终点/待支付”状态(图一、图二) */
    const isTripFinished = tripStatus === TripStatus.TripFinished;
    const isCallingCar = tripStatus === TripStatus.CallingCar;
    /** 费用明细是否展开(拦截 FareDetailCard 的回调本地记录,用于切换背景与卡片布局) */
    const [detailExpanded, setDetailExpanded] = useState(false);
    /** 大号里程文案:取全程里程,单位参考 formatTripDistance(米→M,公里→KM) */
@@ -184,19 +185,24 @@
        }
    };
    const  getCardBgImg = () => {
      if(isCallingCar) {
        return <Image className='calling-car-bg carlling-bg'  src='https://s.xiaopeng.com/xp-fe/robot-taxi/imgs/v2/top-card-bg-20260722.png' />
      }
      if(isTripFinished) {
        return <Image className='calling-car-bg finished-bg'  src='https://s.xiaopeng.com/xp-fe/robot-taxi/imgs/v2/trip-finished-20260703.png' />
      }
      return  <Image className='calling-car-bg' src='https://s.xiaopeng.com/xp-fe/robot-taxi/imgs/v2/card-bg-20260714.png' />
    }
    // 根节点状态类:待支付态 + 明细展开态
    const rootClassName = `calling-car${isTripFinished ? ' calling-car--finished' : ''}${isTripFinished && detailExpanded ? ' is-detail-expanded' : ''}`;
    // 待支付态使用专属背景图,其余状态沿用叫车成功背景图
    const bgImageSrc = isTripFinished
        ? 'https://s.xiaopeng.com/xp-fe/robot-taxi/imgs/v2/trip-finished-20260703.png'
        : 'https://s.xiaopeng.com/xp-fe/robot-taxi/imgs/v2/card-bg-20260714.png';
    const rootClassName = `calling-car${isTripFinished ? ' calling-car--finished' : ''}${isTripFinished && detailExpanded ? ' is-detail-expanded' : ''} ${isCallingCar ? 'calling-status-car' : ''}`;
    // 按状态组合渲染行程卡片模块
    return (
        <View className={rootClassName}>
          <Image className={`calling-car-bg ${isTripFinished ? 'finished-bg' : ''}`} src={bgImageSrc} />
          {getCardBgImg()}
          {
            [TripStatus.VehicleApproaching, TripStatus.VehicleArrivedPickup, TripStatus.InService].includes(tripStatus) && vehicleInfo?.vehiclePictures &&
            [TripStatus.VehicleApproaching, TripStatus.VehicleArrivedPickup, TripStatus.InService, TripStatus.PaymentSuccess].includes(tripStatus) && vehicleInfo?.plateNumber &&
            <Image
              className='calling-car-vehicle-pic'
              src={safeParse(vehicleInfo?.vehiclePictures, {})?.url || 'https://s.xiaopeng.com/xp-fe/robot-taxi/imgs/v2/default-vehicle-img-20260724-v2.png'}
src/robotaxi/pages/begin-route/components/css-folder/calling-car.less
@@ -16,6 +16,9 @@
  background: @gary-theme;
  border-radius: 60px 60px 0 0;
  overflow: hidden;
  &.calling-status-car {
    padding-top: 84px;
  }
  .calling-car-content-box {
    position: relative;
    padding: 48px 48px 82px 48px;
@@ -28,6 +31,9 @@
    left: 0;
    width: 100%;
    height: 282px;
    &.carlling-bg {
      height: 276px;
    }
    &.finished-bg {
      height: 844px;
    }
@@ -36,8 +42,8 @@
    position: absolute;
    top: -4px;
    right: 116px;
    width: 338px;
    height: 236px;
    width: 342px;
    height: 294px;
    z-index: 1;
  }
}
@@ -826,7 +832,7 @@
    }
    .calling-car-content-title--strong {
      font-size: 40px;
      font-weight: 600;
      font-weight: 500;
      line-height: 48px;
      color: @black-text-main;
    }
@@ -839,6 +845,9 @@
      margin: 0 12px;
      color: rgba(20, 30, 39, 0.2);
    }
    .calling-car-site-box-content-name {
      font-weight: 500;
    }
  }
  .calling-car-cancel-btn {
    flex-shrink: 0;
src/robotaxi/pages/begin-route/components/css-folder/cancel-popup.less
@@ -123,29 +123,37 @@
            margin-top: 48px;
            .cancel-btn-cancel {
                display: flex;
                align-items: center;
                justify-content: center;
                flex: 1;
                border: 4px solid #141E27;
                border-radius: 1000px;
                font-size: 32px;
                line-height: 104px;
                text-align: center;
                letter-spacing: normal;
                color: #141E27;
                height: 104px;
                box-sizing: border-box;
                height: 102px;
                font-weight: 500;
                width: 310px;
            }
            .cancel-btn-again {
                display: flex;
                align-items: center;
                justify-content: center;
                flex: 1;
                text-align: center;
                border-radius: 1000px;
                border: 4px solid #141E27;
                box-sizing: border-box;
                font-size: 32px;
                line-height: 104px;
                text-align: center;
                color: #141E27;
                height: 104px;
                height: 102px;
                width: 310px;
                font-weight: 500;
            }
            .wait-btn {
              margin-left: 22px;
src/robotaxi/pages/begin-route/components/css-folder/modify-destination-review.less
@@ -65,7 +65,7 @@
    z-index: 1;
    display: flex;
    gap: 16px;
    padding: 40px 32px 36px 24px;
    padding: 80px 32px 48px 24px;
    border-radius: 40px;
    background: rgba(204, 208, 215, 0.25);
    box-sizing: border-box;
@@ -126,6 +126,7 @@
  .modify-destination-review-select-site-start,
  .modify-destination-review-select-site-end {
    font-weight: 500;
    word-break: break-all;
  }
@@ -242,6 +243,7 @@
    font-size: 32px;
    line-height: 44px;
    color: #ffffff;
    font-weight: 500;
  }
  &-confirm-disabled {
src/robotaxi/pages/begin-route/components/css-folder/route-selection-panel.less
@@ -9,7 +9,7 @@
  .route-select-type {
    display: flex;
        align-items: flex-end;
    align-items: flex-end;
    .route-select-title {
      font-size: 24px;
src/robotaxi/pages/begin-route/hooks/use-view-delegates.tsx
@@ -399,7 +399,7 @@
        slot="callout"
        marker-id={item.id}
        key={calloutKey}
        className={`waiting-callout ${deps.tripStatus === TripStatus.Publishing ? 'waiting-callout-publishing' : ''}`}
        className='waiting-callout'
      >
        <CoverView className="waiting-callout-content">
          {deps.tripStatus === TripStatus.CallingCar && (
src/robotaxi/pages/begin-route/index.less
@@ -488,10 +488,7 @@
    overflow: visible; // 确保辐射动画不被裁剪
    min-width: 700px;
    height: 600px;
    transform: translateY(-34px);
    &.waiting-callout-publishing {
      transform: translateY(16px);
    }
    transform: translateY(-40px);
}
.waiting-radar {
@@ -546,6 +543,7 @@
    padding: 0 20px;
    box-sizing: border-box;
    white-space: nowrap;
    font-family: @font-xpsans-bold;
}
.waiting-callout-txt {
@@ -561,7 +559,7 @@
.waiting-timedown-bg {
  padding: 3px 0 0 20px;
  min-width: 112px;
  min-width: 128px;
  height: 80px;
  .waiting-callout-bg-text {
    padding: 0;