ai-coding
2026-08-14 8053ed7254375f734af03f29eb01e69b6014f98e
fix: 费用详情显示优化

Co-Authored-By: 武世龙 <wusl13@xiaopeng.com>
6 文件已重命名
3个文件已修改
21 ■■■■■ 已修改文件
.kiro/k8s/generated-files.json 1 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.kiro/kpi-light-theme/specs/design.md 补丁 | 查看 | 原始文档 | blame | 历史
.kiro/kpi-light-theme/specs/requirements.md 补丁 | 查看 | 原始文档 | blame | 历史
.kiro/kpi-light-theme/specs/summary.md 补丁 | 查看 | 原始文档 | blame | 历史
.kiro/kpi-light-theme/specs/tasks.md 补丁 | 查看 | 原始文档 | blame | 历史
.kiro/kpi-light-theme/tests/test-cases.md 补丁 | 查看 | 原始文档 | blame | 历史
.kiro/kpi-light-theme/tests/test-report.md 补丁 | 查看 | 原始文档 | blame | 历史
src/views/assetManagement/vehicleManagement/operatingVehicle/components/TaskDetailModal.vue 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/assetManagement/vehicleManagement/operatingVehicle/detail.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.kiro/k8s/generated-files.json
@@ -1,4 +1,5 @@
[
  ".kiro/kpi-light-theme",
  ".kiro/lark-doc-implement",
  ".kiro/lark-wiki-dev"
]
.kiro/kpi-light-theme/specs/design.md
.kiro/kpi-light-theme/specs/requirements.md
.kiro/kpi-light-theme/specs/summary.md
.kiro/kpi-light-theme/specs/tasks.md
.kiro/kpi-light-theme/tests/test-cases.md
.kiro/kpi-light-theme/tests/test-report.md
src/views/assetManagement/vehicleManagement/operatingVehicle/components/TaskDetailModal.vue
@@ -934,24 +934,6 @@
      </div>
    </NSpin>
    <!-- 产生总费用(统一展示,适用于所有任务类型) -->
    <div v-if="currentDetail && (currentDetail.totalCost != null || currentDetail.repairMoney != null)" style="padding: 0 24px 16px;">
      <div style="font-size:13px;color:rgba(23,31,38,0.6);margin-bottom:4px;">产生总费用</div>
      <div style="font-size:13px;color:#171F26;margin-bottom:8px;">¥{{ currentDetail.totalCost ?? currentDetail.repairMoney }}</div>
      <div v-if="currentDetail.costDescription" style="font-size:13px;color:#171F26;margin-bottom:8px;">费用说明:{{ currentDetail.costDescription }}</div>
      <div v-if="currentDetail.costAttachment && getImages(currentDetail.costAttachment).length" class="image-list" style="margin-top:8px;">
        <NImage
          v-for="(img, index) in getImages(currentDetail.costAttachment)"
          :key="`cost-${index}`"
          :src="img"
          :width="56"
          :height="56"
          object-fit="cover"
          fallback-src="https://huishou-1323682843.cos.ap-nanjing.myqcloud.com/images/9bed493b-a6aa-4ef6-ac10-7f67f5c6adc5.png"
        />
      </div>
    </div>
    <!-- 底部按钮 -->
    <template #footer>
      <div class="modal-footer">
src/views/assetManagement/vehicleManagement/operatingVehicle/detail.vue
@@ -278,6 +278,7 @@
    </div>
  ) },
  { title: '图片', key: 'startChargingPicture', align: 'left' as const, width: 140, render: (row: any) => renderImageCell(row.startChargingPicture) },
  { title: '产生总费用', key: 'totalCost', align: 'left' as const, width: 140, render: (row: any) => (row.totalCost != null ? `¥${row.totalCost}` : '-') },
  { title: '充电后剩余电量', key: 'endRemainingBattery', align: 'left' as const, width: 160, render: (row: any) => (
    row.endRemainingBattery
      ? (
@@ -581,6 +582,7 @@
  { title: '序号', key: 'index', align: 'left' as const, width: 80, render: (row: any, index: number) => (cleanPage.value.pageNum - 1) * cleanPage.value.pageSize + index + 1 },
  { title: '清洁时间', key: 'operationTime', align: 'left' as const, width: 180, render: (row: any) => row.operationTime ? dayjs(row.operationTime).format('YYYY/MM/DD HH:mm:ss') : '-' },
  { title: '车身标识及清洁', key: 'bodyEmblem', align: 'left' as const, width: 160, render: (row: any) => renderImageCell(row.bodyEmblem) },
  { title: '产生总费用', key: 'totalCost', align: 'left' as const, width: 140, render: (row: any) => (row.totalCost != null ? `¥${row.totalCost}` : '-') },
  { title: '操作人', key: 'operationsUserName', align: 'left' as const, width: 140 },
  {
    title: '操作',