移除订单 Tab 内门店与核销订单详情页及跳转入口。

列表卡片仅展示摘要,保留订单来源绑定与押金订单详情等其它子流程。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-06-29 13:36:27 +08:00
parent 1970572edd
commit c4de3d17d0
9 changed files with 11 additions and 820 deletions

View File

@ -1,75 +0,0 @@
//
// OrderDetailViewModel.swift
// suixinkan
//
// Created by Codex on 2026/6/22.
//
import Foundation
import Combine
@MainActor
/// ViewModel
final class OrderDetailViewModel: ObservableObject {
@Published private(set) var detail: StoreOrderDetailResponse?
@Published private(set) var loading = false
@Published private(set) var errorMessage: String?
@Published private(set) var contextMessage: String?
/// 使
var display: StoreOrderDetailDisplay {
if let detail {
return StoreOrderDetailDisplay(detail: detail)
}
return StoreOrderDetailDisplay(item: item)
}
///
var projectInfo: StoreOrderProjectInfo? {
detail?.multiTravel?.projectInfo
}
///
var shootingList: [StoreOrderShootingListItem] {
detail?.multiTravel?.shootingList ?? []
}
private let item: OrderEntity
/// ViewModel
init(item: OrderEntity) {
self.item = item
}
/// ID
func load(api: OrderServing, fallbackStoreId: Int?, forceReload: Bool = false) async {
guard !loading else { return }
if forceReload {
detail = nil
} else {
guard detail == nil else { return }
}
guard let storeId = item.storeId ?? fallbackStoreId, storeId > 0 else {
contextMessage = "缺少门店上下文,当前展示订单摘要。"
return
}
loading = true
errorMessage = nil
contextMessage = nil
defer { loading = false }
do {
detail = try await api.storeOrderDetail(storeId: storeId, orderNumber: item.orderNumber)
} catch {
errorMessage = error.localizedDescription
contextMessage = "详情加载失败,当前展示订单摘要。"
}
}
///
func clearError() {
errorMessage = nil
}
}