liaof
2026-07-13 c4b87959a9ca247e3678cd7fd17ea87efa79b0b7
Merge branch 'fix-dgq-070905' into 'feature_v2.3'

Fix dgq 070905:修改bug:优化计价规则文案

See merge request robotaxi1/xp-robotaxi-miniprogram!149
1个文件已修改
40 ■■■■■ 已修改文件
src/robotaxi/pages/pricing-rules/index.tsx 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/robotaxi/pages/pricing-rules/index.tsx
@@ -110,25 +110,19 @@
}
function buildStartDescription(includedKm: any, includedMin: any) {
  const hasIncludedKm = hasDisplayValue(includedKm);
  const hasIncludedMin = hasConfiguredDuration(includedMin);
  const parts: string[] = [];
  if (hasIncludedKm) {
    parts.push(`包含里程${includedKm}公里`);
  const hasKm = hasDisplayValue(includedKm);
  const hasMin = hasDisplayValue(includedMin);
  if (hasKm && hasMin) {
    return `行程在${includedKm}公里内且用时不超过${includedMin}分钟,统一收取起步价;行程超出${includedKm}公里,或是行驶时长超过${includedMin}分钟任一情况,均会在起步价基础上叠加收取对应里程费、时长费。`;
  }
  if (hasIncludedMin) {
    parts.push(`包含时长${includedMin}分钟`);
  if (hasKm && !hasMin) {
    return `基础里程${includedKm}公里内统一收取起步价,行程超出${includedKm}公里后,额外叠加里程费。`;
  }
  if (parts.length === 0) {
    return '起步价内包含一定的基础里程或时长,超出后将在起步价基础上累加计费。';
  if (!hasKm && hasMin) {
    return `包含时长${includedMin}分钟,时长超出时,将在起步价基础上累加计费。`;
  }
  if (hasIncludedKm && hasIncludedMin) {
    return `${parts.join(',')},包含里程或包含时长(低速时长)任何一项超出时,将在起步价基础上累加计费。`;
  }
  if (hasIncludedKm) {
    return `${parts.join(',')},超出包含里程后,将在起步价基础上累加计费。`;
  }
  return `${parts.join(',')},超出包含时长(低速时长)后,将在起步价基础上累加计费。`;
  return '起步价内包含一定的基础里程或时长,超出后将在起步价基础上累加计费。';
}
function PricingRulesPage() {
@@ -376,7 +370,7 @@
    waitingFeePerMinute !== null &&
    waitingFeePerMinute !== undefined &&
    waitingFeePerMinute !== ''
      ? `司机到达预约地点${waitingFreeMinutes}分钟后开始收取等待费,为${formatMoney(waitingFeePerMinute)}元/分钟,不足1分钟按1分钟计算`
      ? `车辆抵达上车点可享 ${waitingFreeMinutes} 分钟免费等候时长,超时后按 ${formatMoney(waitingFeePerMinute)} 元/分钟收取等待费,等候时长不足 1 分钟统一按 1 分钟核算。`
      : '';
  const longDistanceStep1 = basicPricing?.num7;
@@ -390,9 +384,9 @@
    const f2 = formatMoney(fee2);
    const f3 = formatMoney(fee3);
    const result: string[] = [];
    if (f1) result.push(`总里程超过${baseIncludedKm}公里后,公里不足${step1}公里,超出部分每公里加收${f1}元`);
    if (f2) result.push(`超过${step1}公里不足${step2}公里,超出部分每公里加收${f2}元`);
    if (f3) result.push(`超过${step2}公里以后,超出部分每公里加收${f3}元`);
    if (f1) result.push(`总里程超${baseIncludedKm}公里且未满${step1}公里,超出部分每公里加收${f1}元。`);
    if (f2) result.push(`总里程超${step1}公里且未满${step2}公里,超出部分每公里加收${f2}元。`);
    if (f3) result.push(`总里程超${step2}公里,超出部分每公里加收${f3}元。`);
    return result;
  }
@@ -564,7 +558,7 @@
                <View className='group-title'>{group.title}</View>
                {group.bullets.map((b, bi) => (
                  <View className='bullet' key={`long-${idx}-${bi}`}>
                    {`- ${b}`}
                    {`${b}`}
                  </View>
                ))}
              </View>
@@ -574,7 +568,7 @@
      ) : null}
      {waitingFeeText ? (
        <View className='section'>
          <View className='item-title'>等待费设置</View>
          <View className='item-title'>等待费</View>
          <Text className='item-value'>{waitingFeeText}</Text>
        </View>
      ) : null}
@@ -583,7 +577,7 @@
        <Text className='notice-text'>
          {isFixedPriceMode
            ? '高速费、停车费、过桥费、跨城费等行程中实际产生的杂费,由乘客另行据实支付。最终费用=一口价套餐费+超额里程费+超额时长费。'
            : '最终费用以实际行驶里程与时间为准。若行程发生路线变更,如不可避免的绕路情况,超出原路线计费,您的行程将按原路线爱进行收费。'}
            : '最终费用是基于行程起终点预估里程和时长,按照实时计价规则计算的预估价,再根据供需等因素进行一定幅度调整的价格。若实际终点远离原终点或实际里程与原里程偏差较大,将重新计算价格。'}
        </Text>
      </View>
    </View>