Files
medical-mall/mock/delivery-care.mock.uts

681 lines
23 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import type {
DeliveryAbnormalReportType,
DeliveryDashboardType,
DeliveryExceptionPayloadType,
DeliveryInfoType,
DeliveryLocationType,
DeliveryOnlineStatus,
DeliveryOrderStatus,
DeliveryOrderType,
DeliveryRecordType,
DeliveryServiceItemType,
DeliveryServiceRecordType,
DeliveryStatusLogType,
DeliveryTimelineItemType
} from '@/types/delivery.uts'
const PROFILE_KEY = 'delivery_care_profile'
const ORDER_KEY = 'delivery_care_orders'
function nowText(): string {
return new Date().toISOString().replace('T', ' ').substring(0, 19)
}
function cloneProfile(profile: DeliveryInfoType): DeliveryInfoType {
return JSON.parse(JSON.stringify(profile)) as DeliveryInfoType
}
function cloneOrder(order: DeliveryOrderType): DeliveryOrderType {
return JSON.parse(JSON.stringify(order)) as DeliveryOrderType
}
function cloneOrders(orders: Array<DeliveryOrderType>): Array<DeliveryOrderType> {
return JSON.parse(JSON.stringify(orders)) as Array<DeliveryOrderType>
}
function createStatusText(status: DeliveryOrderStatus): string {
if (status == 'pending_assignment' || status == 'pending_accept') return '待接单'
if (status == 'accepted') return '已接单'
if (status == 'waiting_departure') return '待出发'
if (status == 'departed' || status == 'on_the_way') return '已出发'
if (status == 'arrived') return '已到达'
if (status == 'checked_in') return '已签到'
if (status == 'in_service' || status == 'serving') return '服务中'
if (status == 'pending_confirm' || status == 'pending_acceptance' || status == 'pending_submit') return '待确认'
if (status == 'completed') return '已完成'
if (status == 'rejected') return '已拒单'
if (status == 'cancelled') return '已取消'
if (status == 'abnormal' || status == 'exception_pending') return '异常上报'
if (status == 'terminated') return '服务终止'
return '已归档'
}
function createStatusTone(status: DeliveryOrderStatus): string {
if (status == 'pending_assignment' || status == 'pending_accept' || status == 'pending_confirm' || status == 'pending_acceptance' || status == 'pending_submit') return 'warning'
if (status == 'completed') return 'success'
if (status == 'rejected' || status == 'cancelled' || status == 'terminated') return 'neutral'
if (status == 'abnormal' || status == 'exception_pending') return 'danger'
return 'primary'
}
function createStatusLog(orderId: string, fromStatus: DeliveryOrderStatus, toStatus: DeliveryOrderStatus, remark: string): DeliveryStatusLogType {
return {
id: orderId + '-log-' + nowText().replace(/[-: ]/g, ''),
orderId,
fromStatus,
toStatus,
operatorRole: 'service_staff',
operatorId: 'mock-staff-001',
remark,
createdAt: nowText()
} as DeliveryStatusLogType
}
function createTimeline(title: string, description: string): DeliveryTimelineItemType {
return {
id: 'timeline-' + nowText().replace(/[-: ]/g, ''),
title,
time: nowText(),
description
} as DeliveryTimelineItemType
}
function createServiceItems(orderId: string): Array<DeliveryServiceItemType> {
return [
{
id: orderId + '-item-1',
name: '生命体征监测',
required: true,
completed: false,
incompleteReason: '',
remark: '',
updatedAt: ''
} as DeliveryServiceItemType,
{
id: orderId + '-item-2',
name: '基础照护服务',
required: true,
completed: false,
incompleteReason: '',
remark: '',
updatedAt: ''
} as DeliveryServiceItemType,
{
id: orderId + '-item-3',
name: '家属沟通与宣教',
required: false,
completed: false,
incompleteReason: '',
remark: '',
updatedAt: ''
} as DeliveryServiceItemType
]
}
function createProfile(): DeliveryInfoType {
return {
id: 'mock-staff-001',
userId: 'mock-delivery-user-001',
staffNo: 'CARE-202605-001',
name: '陈护理',
phone: '13600001111',
role: 'care_worker',
status: 'active',
organizationId: 'org-care-001',
organizationName: '梅江区居家康护中心',
certificates: [] as Array<any>,
certificateStatus: 'valid',
certificateExpireAt: '2027-12-31',
onlineStatus: 'online',
serviceArea: '梅江区 / 梅县区',
skills: ['上门助浴', '康复陪护', '慢病随访', '居家照护'],
avatarUrl: '',
todayAccepted: 2,
todayServing: 1,
todayCompleted: 1,
usesMock: true
} as DeliveryInfoType
}
function createOrder(
orderId: string,
serviceName: string,
serviceType: string,
status: DeliveryOrderStatus,
appointmentTime: string,
duration: number,
price: number,
staffIncome: number,
elderName: string,
elderGender: string,
elderAge: number,
elderPhone: string,
contactName: string,
contactPhone: string,
contactRelation: string,
address: string,
addressDetail: string,
distance: string,
riskTags: Array<string>,
healthTags: Array<string>,
needFamilyPresent: boolean,
needMaterials: boolean,
remark: string
): DeliveryOrderType {
const statusText = createStatusText(status)
const items = createServiceItems(orderId)
return {
id: orderId,
orderNo: 'CARE-' + orderId.toUpperCase(),
serviceType,
serviceName,
serviceCategory: serviceType,
serviceItems: items,
serviceContentOptions: ['基础护理', '生命体征监测', '安全巡视', '家属沟通'],
elderId: 'elder-' + orderId,
elderName,
elderNameMasked: elderName.substring(0, 1) + '**',
elderGender,
elderAge,
elderPhone,
elderPhoneMasked: elderPhone.substring(0, 3) + '****' + elderPhone.substring(elderPhone.length - 4),
fullElderName: elderName,
fullPhone: elderPhone,
contactName,
contactPhone,
contactRelation,
addressSummary: address,
address,
addressDetail,
fullAddress: address + ' ' + addressDetail,
latitude: 24.2898,
longitude: 116.1179,
appointmentTime,
appointmentStartTime: appointmentTime,
appointmentEndTime: appointmentTime,
duration,
estimatedDuration: duration,
price,
staffIncome,
distance,
actualStartTime: '',
actualEndTime: '',
status,
statusText,
statusTone: createStatusTone(status),
riskTags,
healthTags,
careLevel: '护理二级',
needFamilyPresent,
needMaterials,
remark,
merchantId: 'merchant-care-001',
merchantName: '梅江区居家康护中心',
deliveryStaffId: 'mock-staff-001',
deliveryStaffName: '陈护理',
acceptTime: '',
rejectTime: '',
departTime: '',
arriveTime: '',
checkinTime: '',
startServiceTime: '',
finishTime: '',
cancelReason: '',
exceptionType: '',
exceptionDesc: '',
evidenceList: [] as Array<any>,
signatureUrl: '',
signatureName: '',
satisfactionStatus: '待确认',
settlementStatus: '待结算',
archiveStatus: '未归档',
createdAt: nowText(),
updatedAt: nowText(),
notices: ['请提前 15 分钟电话联系', '如遇突发异常先上报再处置'],
timeline: [createTimeline('订单已生成', '平台已生成上门服务订单')],
statusLog: [createStatusLog(orderId, status, status, '初始化 mock 订单')],
serviceSummary: '',
progressNote: '',
distanceKm: distance,
allowCheckinRadiusMeters: 120,
lastLocation: null,
trackPoints: [] as Array<DeliveryLocationType>,
serviceRecord: null,
abnormalReport: null
} as DeliveryOrderType
}
function createDefaultOrders(): Array<DeliveryOrderType> {
const orders = [
createOrder('mock-care-001', '上门助浴', '生活照护', 'pending_assignment', '2026-05-20 09:00', 90, 199, 128, '李秀珍', '女', 79, '13800131024', '李晓兰', '13900139000', '女儿', '梅江区江南路 18 号', '2 栋 602 室', '2.4km', ['高龄', '行动不便'], ['高血压'], true, true, '请准备防滑垫和浴后保暖衣物'),
createOrder('mock-care-002', '康复陪护', '康复护理', 'pending_assignment', '2026-05-20 10:30', 120, 260, 160, '张志坤', '男', 83, '13700132233', '张春梅', '13600136666', '女儿', '梅县区新城锦绣花园 5 栋', '1403 室', '5.8km', ['需家属在场'], ['术后恢复'], true, true, '需携带弹力带与康复手册'),
createOrder('mock-care-003', '陪诊服务', '陪诊陪护', 'accepted', '2026-05-20 13:00', 180, 320, 220, '黄玉英', '女', 76, '13500135566', '黄晓娟', '13500130088', '女儿', '梅江区学海路康养公寓 A 座', '907 室', '1.1km', ['高龄'], ['糖尿病'], false, false, '就诊前需先核对病历资料'),
createOrder('mock-care-004', '慢病随访', '健康管理', 'departed', '2026-05-20 14:30', 60, 168, 108, '陈国辉', '男', 81, '13900133301', '陈丽芳', '13800136660', '妻子', '梅县区扶老社区 11 栋', '203 室', '3.6km', ['行动不便'], ['高血压', '冠心病'], false, true, '重点测量血压并复核药盒'),
createOrder('mock-care-005', '居家照护', '长期照护', 'in_service', '2026-05-20 15:00', 120, 288, 190, '王月兰', '女', 87, '13400137744', '王秀玲', '13600139922', '女儿', '梅江区东汇城旁康颐楼 3 单元', '1204 室', '4.2km', ['失能', '需家属在场'], ['血糖异常'], true, true, '服务中注意翻身护理与进食观察'),
createOrder('mock-care-006', '上门护理', '护理服务', 'completed', '2026-05-19 16:00', 90, 230, 150, '刘建华', '男', 72, '13300136655', '刘敏', '13300998877', '儿子', '梅江区和顺苑 9 栋', '401 室', '6.0km', ['术后恢复'], ['低蛋白'], false, false, '完成换药与术后宣教')
]
orders[2].acceptTime = '2026-05-20 11:40:00'
orders[2].timeline.unshift(createTimeline('已接单', '服务人员已确认接单'))
orders[2].statusLog.unshift(createStatusLog(orders[2].id, 'pending_assignment', 'accepted', '手动接单'))
orders[3].acceptTime = '2026-05-20 12:00:00'
orders[3].departTime = '2026-05-20 13:58:00'
orders[3].timeline.unshift(createTimeline('已出发', '服务人员已从机构出发'))
orders[3].statusLog.unshift(createStatusLog(orders[3].id, 'accepted', 'departed', '已出发'))
orders[4].acceptTime = '2026-05-20 13:00:00'
orders[4].departTime = '2026-05-20 14:00:00'
orders[4].arriveTime = '2026-05-20 14:40:00'
orders[4].checkinTime = '2026-05-20 14:45:00'
orders[4].startServiceTime = '2026-05-20 14:50:00'
orders[4].actualStartTime = '2026-05-20 14:50:00'
orders[4].serviceItems[0].completed = true
orders[4].serviceItems[0].remark = '血压 132/82心率 76 次/分'
orders[4].serviceItems[0].updatedAt = '2026-05-20 15:10:00'
orders[4].timeline.unshift(createTimeline('开始服务', '已进入服务执行阶段'))
orders[4].statusLog.unshift(createStatusLog(orders[4].id, 'checked_in', 'in_service', '开始服务'))
orders[5].acceptTime = '2026-05-19 14:30:00'
orders[5].departTime = '2026-05-19 15:10:00'
orders[5].arriveTime = '2026-05-19 15:48:00'
orders[5].checkinTime = '2026-05-19 15:52:00'
orders[5].startServiceTime = '2026-05-19 15:55:00'
orders[5].finishTime = '2026-05-19 17:18:00'
orders[5].actualStartTime = '2026-05-19 15:55:00'
orders[5].actualEndTime = '2026-05-19 17:18:00'
orders[5].serviceSummary = '已完成换药、伤口巡视和家属宣教。'
orders[5].serviceRecord = {
id: 'record-' + orders[5].id,
orderId: orders[5].id,
startTime: '2026-05-19 15:55:00',
endTime: '2026-05-19 17:18:00',
actualDurationMinutes: 83,
serviceItems: orders[5].serviceItems,
serviceContent: ['换药护理', '伤口观察', '家属宣教'],
processNote: '服务过程平稳,老人配合良好。',
elderStatus: '精神状态稳定,伤口恢复良好。',
healthMetrics: {
bloodPressure: '126/80',
heartRate: '74',
bloodSugar: '',
bloodOxygen: '98'
},
materialsUsed: '无菌敷料 2 片,棉签 4 支',
abnormalNote: '',
photos: ['mock-photo-1'],
staffRemark: '建议继续保持每日换药。',
familyConfirmation: {
method: 'sms_code',
code: '652318',
signatureName: '刘敏',
signatureUrl: '',
confirmedAt: '2026-05-19 17:20:00'
},
createdAt: '2026-05-19 17:18:00',
updatedAt: '2026-05-19 17:18:00'
} as DeliveryServiceRecordType
return orders
}
function readProfileStore(): DeliveryInfoType {
const cached = uni.getStorageSync(PROFILE_KEY) as DeliveryInfoType | null
if (cached != null && cached.id != null && cached.id != '') {
return cloneProfile(cached)
}
const created = createProfile()
uni.setStorageSync(PROFILE_KEY, cloneProfile(created))
return created
}
function writeProfileStore(profile: DeliveryInfoType): DeliveryInfoType {
uni.setStorageSync(PROFILE_KEY, cloneProfile(profile))
return profile
}
function readOrderStore(): Array<DeliveryOrderType> {
const cached = uni.getStorageSync(ORDER_KEY) as Array<DeliveryOrderType> | null
if (cached != null && cached.length > 0) {
return cloneOrders(cached)
}
const created = createDefaultOrders()
uni.setStorageSync(ORDER_KEY, cloneOrders(created))
return created
}
function writeOrderStore(orders: Array<DeliveryOrderType>): Array<DeliveryOrderType> {
uni.setStorageSync(ORDER_KEY, cloneOrders(orders))
return orders
}
function sortOrdersByAppointment(orders: Array<DeliveryOrderType>): Array<DeliveryOrderType> {
return orders.sort((left, right) => left.appointmentTime.localeCompare(right.appointmentTime))
}
function isPendingStatus(status: DeliveryOrderStatus): boolean {
return status == 'pending_assignment' || status == 'pending_accept'
}
function isHistoryStatus(status: DeliveryOrderStatus): boolean {
return status == 'completed' || status == 'rejected' || status == 'cancelled' || status == 'abnormal' || status == 'terminated' || status == 'archived'
}
function isTodayStatus(status: DeliveryOrderStatus): boolean {
return !isPendingStatus(status) && !isHistoryStatus(status)
}
function refreshOrderMeta(order: DeliveryOrderType): void {
order.statusText = createStatusText(order.status)
order.statusTone = createStatusTone(order.status)
order.updatedAt = nowText()
order.distanceKm = order.distance
order.fullAddress = order.address + ' ' + order.addressDetail
order.fullElderName = order.elderName
order.fullPhone = order.elderPhone
order.elderNameMasked = order.elderName.substring(0, 1) + '**'
order.elderPhoneMasked = order.elderPhone.substring(0, 3) + '****' + order.elderPhone.substring(order.elderPhone.length - 4)
order.timeline.unshift(createTimeline(order.statusText, '订单状态已更新为' + order.statusText))
}
function findOrderIndex(orders: Array<DeliveryOrderType>, orderId: string): number {
for (let i = 0; i < orders.length; i++) {
if (orders[i].id == orderId) {
return i
}
}
return -1
}
export function getDeliveryCareProfile(): DeliveryInfoType {
return readProfileStore()
}
export function updateDeliveryCareOnlineStatus(status: DeliveryOnlineStatus): DeliveryInfoType {
const profile = readProfileStore()
profile.onlineStatus = status
return cloneProfile(writeProfileStore(profile))
}
export function getDeliveryCareDashboard(): DeliveryDashboardType {
const profile = readProfileStore()
const orders = sortOrdersByAppointment(readOrderStore())
let pendingCount = 0
let todayCount = 0
let pendingDepartCount = 0
let servingCount = 0
let completedCount = 0
let exceptionCount = 0
let expectedIncome = 0
let nextOrder: DeliveryOrderType | null = null
const recentOrders: Array<DeliveryOrderType> = []
for (let i = 0; i < orders.length; i++) {
const item = orders[i]
if (isPendingStatus(item.status)) {
pendingCount += 1
}
if (isTodayStatus(item.status) || item.status == 'completed') {
todayCount += 1
}
if (item.status == 'accepted' || item.status == 'waiting_departure') {
pendingDepartCount += 1
}
if (item.status == 'in_service' || item.status == 'serving') {
servingCount += 1
}
if (item.status == 'completed') {
completedCount += 1
}
if (item.status == 'abnormal' || item.status == 'exception_pending') {
exceptionCount += 1
}
if (!isHistoryStatus(item.status) && item.status != 'rejected' && item.status != 'cancelled') {
expectedIncome += item.staffIncome
}
if (nextOrder == null && !isHistoryStatus(item.status)) {
nextOrder = cloneOrder(item)
}
if (recentOrders.length < 4) {
recentOrders.push(cloneOrder(item))
}
}
profile.todayAccepted = pendingDepartCount
profile.todayServing = servingCount
profile.todayCompleted = completedCount
writeProfileStore(profile)
return {
pendingAssignmentCount: pendingCount,
pendingAcceptCount: pendingCount,
todayOrderCount: todayCount,
pendingDepartCount,
servingCount,
completedCount,
exceptionCount,
expectedIncome,
onlineStatus: profile.onlineStatus,
nextOrder,
recentOrders
} as DeliveryDashboardType
}
export function getPendingCareOrders(): Array<DeliveryOrderType> {
const orders = sortOrdersByAppointment(readOrderStore())
const result: Array<DeliveryOrderType> = []
for (let i = 0; i < orders.length; i++) {
if (isPendingStatus(orders[i].status)) {
result.push(cloneOrder(orders[i]))
}
}
return result
}
export function getTodayCareOrders(): Array<DeliveryOrderType> {
const orders = sortOrdersByAppointment(readOrderStore())
const result: Array<DeliveryOrderType> = []
for (let i = 0; i < orders.length; i++) {
if (isTodayStatus(orders[i].status)) {
result.push(cloneOrder(orders[i]))
}
}
return result
}
export function getHistoryCareOrders(): Array<DeliveryOrderType> {
const orders = sortOrdersByAppointment(readOrderStore())
const result: Array<DeliveryOrderType> = []
for (let i = 0; i < orders.length; i++) {
if (isHistoryStatus(orders[i].status)) {
result.push(cloneOrder(orders[i]))
}
}
return result
}
export function getCareOrderDetail(orderId: string): DeliveryOrderType | null {
const orders = readOrderStore()
const index = findOrderIndex(orders, orderId)
if (index < 0) {
return null
}
return cloneOrder(orders[index])
}
export function updateCareOrderStatus(orderId: string, nextStatus: DeliveryOrderStatus, remark: string): DeliveryOrderType | null {
const orders = readOrderStore()
const index = findOrderIndex(orders, orderId)
if (index < 0) {
return null
}
const target = orders[index]
const fromStatus = target.status
target.status = nextStatus
if (nextStatus == 'accepted') {
target.acceptTime = nowText()
}
if (nextStatus == 'rejected') {
target.rejectTime = nowText()
}
if (nextStatus == 'departed') {
target.departTime = nowText()
}
if (nextStatus == 'arrived') {
target.arriveTime = nowText()
}
if (nextStatus == 'checked_in') {
target.checkinTime = nowText()
}
if (nextStatus == 'in_service') {
target.startServiceTime = nowText()
target.actualStartTime = target.startServiceTime != null ? target.startServiceTime : nowText()
}
if (nextStatus == 'completed') {
target.finishTime = nowText()
target.actualEndTime = target.finishTime
}
target.statusLog.unshift(createStatusLog(orderId, fromStatus, nextStatus, remark))
refreshOrderMeta(target)
writeOrderStore(orders)
return cloneOrder(target)
}
export function acceptCareOrder(orderId: string): DeliveryOrderType | null {
return updateCareOrderStatus(orderId, 'accepted', '接单成功')
}
export function rejectCareOrder(orderId: string, reason: string): DeliveryOrderType | null {
const order = updateCareOrderStatus(orderId, 'rejected', reason)
if (order != null) {
const orders = readOrderStore()
const index = findOrderIndex(orders, orderId)
if (index >= 0) {
orders[index].cancelReason = reason
writeOrderStore(orders)
return cloneOrder(orders[index])
}
}
return order
}
export function markCareOrderDeparted(orderId: string): DeliveryOrderType | null {
return updateCareOrderStatus(orderId, 'departed', '服务人员已出发')
}
export function markCareOrderArrived(orderId: string): DeliveryOrderType | null {
return updateCareOrderStatus(orderId, 'arrived', '服务人员已到达')
}
export function checkInCareOrder(orderId: string, location: DeliveryLocationType | null, note: string): DeliveryOrderType | null {
const order = updateCareOrderStatus(orderId, 'checked_in', note != '' ? note : '到达签到')
if (order == null) {
return null
}
const orders = readOrderStore()
const index = findOrderIndex(orders, orderId)
if (index >= 0) {
orders[index].lastLocation = location
writeOrderStore(orders)
return cloneOrder(orders[index])
}
return order
}
export function startCareService(orderId: string): DeliveryOrderType | null {
return updateCareOrderStatus(orderId, 'in_service', '开始服务')
}
export function submitCareServiceRecord(orderId: string, record: DeliveryServiceRecordType): DeliveryOrderType | null {
const orders = readOrderStore()
const index = findOrderIndex(orders, orderId)
if (index < 0) {
return null
}
orders[index].serviceRecord = cloneOrder({
...orders[index],
serviceRecord: record
} as DeliveryOrderType).serviceRecord
orders[index].serviceSummary = record.processNote
orders[index].progressNote = record.staffRemark
orders[index].serviceItems = record.serviceItems
orders[index].status = 'pending_confirm'
orders[index].statusLog.unshift(createStatusLog(orderId, 'in_service', 'pending_confirm', '已提交服务记录'))
refreshOrderMeta(orders[index])
writeOrderStore(orders)
return cloneOrder(orders[index])
}
export function completeCareOrder(orderId: string): DeliveryOrderType | null {
const orders = readOrderStore()
const index = findOrderIndex(orders, orderId)
if (index < 0) {
return null
}
if (orders[index].serviceRecord == null) {
return null
}
orders[index].statusLog.unshift(createStatusLog(orderId, orders[index].status, 'completed', '完成服务'))
orders[index].status = 'completed'
orders[index].finishTime = nowText()
orders[index].actualEndTime = orders[index].finishTime
refreshOrderMeta(orders[index])
writeOrderStore(orders)
return cloneOrder(orders[index])
}
export function submitCareAbnormalReport(orderId: string, payload: DeliveryExceptionPayloadType): DeliveryOrderType | null {
const orders = readOrderStore()
const index = findOrderIndex(orders, orderId)
if (index < 0) {
return null
}
orders[index].abnormalReport = {
id: 'abnormal-' + orderId,
orderId,
type: payload.exceptionType,
description: payload.description,
occurredAt: payload.occurredAt != null ? payload.occurredAt : nowText(),
locationText: payload.locationText != null ? payload.locationText : '当前位置 mock',
images: payload.images,
needPlatformIntervention: payload.needPlatformIntervention === true,
requestCancelOrder: payload.requestCancelOrder === true,
requestReschedule: payload.requestReschedule === true,
createdAt: nowText()
} as DeliveryAbnormalReportType
orders[index].exceptionType = payload.exceptionType
orders[index].exceptionDesc = payload.description
orders[index].statusLog.unshift(createStatusLog(orderId, orders[index].status, 'abnormal', '提交异常上报'))
orders[index].status = 'abnormal'
refreshOrderMeta(orders[index])
writeOrderStore(orders)
return cloneOrder(orders[index])
}
export function getCareRecords(): Array<DeliveryRecordType> {
const orders = readOrderStore()
const result: Array<DeliveryRecordType> = []
for (let i = 0; i < orders.length; i++) {
const item = orders[i]
if (item.serviceRecord != null || item.status == 'completed') {
result.push({
id: 'record-list-' + item.id,
orderId: item.id,
orderNo: item.orderNo,
serviceName: item.serviceName,
elderName: item.elderName,
elderNameMasked: item.elderNameMasked,
status: item.status,
statusText: item.statusText,
appointmentStartTime: item.appointmentStartTime,
appointmentTime: item.appointmentTime,
actualStartTime: item.actualStartTime,
actualEndTime: item.actualEndTime,
staffIncome: item.staffIncome,
settlementStatus: item.settlementStatus,
acceptanceStatus: item.satisfactionStatus,
exceptionDesc: item.exceptionDesc,
ratingText: item.satisfactionStatus,
hasServiceRecord: item.serviceRecord != null
} as DeliveryRecordType)
}
}
return result
}
export function resetCareOrderStore(): void {
uni.removeStorageSync(ORDER_KEY)
uni.removeStorageSync(PROFILE_KEY)
}