| | |
| | | <text |
| | | v-for="(type, index) in caseTypes" |
| | | :key="index" |
| | | :class="{ active: currentType === type.value }" |
| | | :class="{ active: currentType == type.value }" |
| | | @tap="selectType(type.value)" |
| | | >{{ type.label }}</text |
| | | > |
| | |
| | | <text class="type">{{ caseItem.caseType }}</text> |
| | | </view> |
| | | </view> |
| | | <text class="status" :class="caseItem.status.replace('ed', '')">{{ |
| | | caseItem.statusText |
| | | }}</text> |
| | | <text |
| | | class="status" |
| | | :class="caseItem.reportStatus.replace('ed', '')" |
| | | >{{ caseItem.statusText }}</text |
| | | > |
| | | </view> |
| | | |
| | | <view class="detail-info"> |
| | | <!-- 基础信息保持不变 --> |
| | | <view class="info-item"> |
| | | <text class="label">捐献编号</text> |
| | | <text class="value">{{ caseItem.donorNo }}</text> |
| | |
| | | <text class="label">疾病诊断</text> |
| | | <text class="value">{{ caseItem.diagnosis }}</text> |
| | | </view> |
| | | |
| | | <!-- 联系方式 --> |
| | | <view class="info-item" v-if="caseItem.phone"> |
| | | <text class="label">联系电话</text> |
| | | <text class="value">{{ caseItem.phone }}</text> |
| | | </view> |
| | | |
| | | <view class="info-item"> |
| | | <text class="label">上报时间</text> |
| | | <text class="value">{{ caseItem.reportTime }}</text> |
| | | </view> |
| | | <view class="info-item"> |
| | | <text class="label">上报人</text> |
| | | <text class="value">{{ caseItem.reporterName }}</text> |
| | | </view> |
| | | |
| | | <view class="info-item" v-if="caseItem.reviewTime"> |
| | | <text class="label">审核时间</text> |
| | | <text class="value">{{ caseItem.reviewTime }}</text> |
| | |
| | | </view> |
| | | </view> |
| | | |
| | | <!-- 转运信息区域 --> |
| | | <view class="transport-section"> |
| | | <!-- 转运信息区域 - 修改判断逻辑 --> |
| | | <view |
| | | class="transport-section" |
| | | v-if="caseItem.isTransport == '2' || caseItem.isTransport == 2" |
| | | > |
| | | <view class="transport-info"> |
| | | <text class="label">转运状态</text> |
| | | <text |
| | | class="transport-status" |
| | | :class="transportStatusMap[caseItem.transportStatus].class" |
| | | :class="getTransportStatusClass(caseItem)" |
| | | > |
| | | {{ transportStatusMap[caseItem.transportStatus].text }} |
| | | {{ getTransportStatusText(caseItem) }} |
| | | </text> |
| | | </view> |
| | | |
| | | <!-- 显示转运详情:只要有转运单号就显示 --> |
| | | <view |
| | | class="transport-details" |
| | | v-if="caseItem.transportOrderNo && caseItem.transportOrderNo !== ''" |
| | | > |
| | | <!-- 转运详情判断逻辑修改 --> |
| | | <view class="transport-details" v-if="hasTransport(caseItem)"> |
| | | <view class="detail-item"> |
| | | <text class="detail-label">转运单号</text> |
| | | <text class="detail-value">{{ caseItem.transportOrderNo }}</text> |
| | | <text class="detail-value">{{ |
| | | getTransportOrderNo(caseItem) |
| | | }}</text> |
| | | </view> |
| | | |
| | | <view class="detail-item" v-if="caseItem.transportTime"> |
| | | <view class="detail-item" v-if="getTransportStartTime(caseItem)"> |
| | | <text class="detail-label">计划转运时间</text> |
| | | <text class="detail-value">{{ caseItem.transportTime }}</text> |
| | | </view> |
| | | |
| | | <view class="detail-item" v-if="caseItem.transportDetails?.vehicle"> |
| | | <text class="detail-label">转运车辆</text> |
| | | <text class="detail-value">{{ |
| | | caseItem.transportDetails.vehicle |
| | | getTransportStartTime(caseItem) |
| | | }}</text> |
| | | </view> |
| | | |
| | | <view class="detail-item" v-if="caseItem.transportDetails?.driver"> |
| | | <text class="detail-label">驾驶员</text> |
| | | <view class="detail-item" v-if="getTransportPlace(caseItem)"> |
| | | <text class="detail-label">出发地点</text> |
| | | <text class="detail-value">{{ |
| | | caseItem.transportDetails.driver |
| | | getTransportPlace(caseItem) |
| | | }}</text> |
| | | </view> |
| | | |
| | | <view class="detail-item" v-if="caseItem.transportDetails?.phone"> |
| | | <text class="detail-label">联系电话</text> |
| | | <text class="detail-value">{{ |
| | | caseItem.transportDetails.phone |
| | | }}</text> |
| | | <view class="detail-item" v-if="getCoordinator(caseItem)"> |
| | | <text class="detail-label">协调员</text> |
| | | <text class="detail-value">{{ getCoordinator(caseItem) }}</text> |
| | | </view> |
| | | |
| | | <!-- 转运中才显示的动态信息 --> |
| | | <view |
| | | class="detail-item" |
| | | v-if=" |
| | | caseItem.transportStatus === 'transporting' && |
| | | caseItem.transportDetails?.currentLocation |
| | | " |
| | | > |
| | | <text class="detail-label">当前位置</text> |
| | | <text class="detail-value">{{ |
| | | caseItem.transportDetails.currentLocation |
| | | }}</text> |
| | | <!-- 转运状态信息 --> |
| | | <view class="detail-item" v-if="getTransportStatus(caseItem) == 2"> |
| | | <text class="detail-label">转运状态</text> |
| | | <text class="detail-value">转运中</text> |
| | | </view> |
| | | |
| | | <view |
| | | class="detail-item" |
| | | v-if=" |
| | | caseItem.transportStatus === 'transporting' && |
| | | caseItem.transportDetails?.estimatedTime |
| | | " |
| | | > |
| | | <text class="detail-label">预计到达</text> |
| | | <text class="detail-value">{{ |
| | | caseItem.transportDetails.estimatedTime |
| | | }}</text> |
| | | </view> |
| | | |
| | | <!-- 完成后显示的信息 --> |
| | | <view |
| | | class="detail-item" |
| | | v-if=" |
| | | caseItem.transportStatus === 'completed' && |
| | | caseItem.transportDetails?.completedTime |
| | | " |
| | | > |
| | | <text class="detail-label">完成时间</text> |
| | | <text class="detail-value">{{ |
| | | caseItem.transportDetails.completedTime |
| | | }}</text> |
| | | <view class="detail-item" v-if="getTransportStatus(caseItem) == 3"> |
| | | <text class="detail-label">转运状态</text> |
| | | <text class="detail-value">已完成</text> |
| | | </view> |
| | | </view> |
| | | |
| | | <!-- 操作按钮 --> |
| | | <!-- 操作按钮 - 修改判断逻辑 --> |
| | | <view class="transport-actions"> |
| | | <!-- 可创建转运单的条件:已同意 + 需转运 + 无转运单 --> |
| | | <button |
| | | v-if=" |
| | | !caseItem.transportOrderNo && |
| | | caseItem.status === 'agreed' |
| | | " |
| | | v-if="canCreateTransport(caseItem)" |
| | | class="transport-btn primary" |
| | | @tap.stop="createTransportOrder(caseItem)" |
| | | > |
| | | 创建转运单 |
| | | </button> |
| | | |
| | | <!-- 需转运但未同意 --> |
| | | <button |
| | | v-if=" |
| | | caseItem.transportStatus === 'not_transported' && |
| | | caseItem.status !== 'agreed' |
| | | " |
| | | v-if="caseItem.isTransport == '2' && !hasTransport(caseItem)" |
| | | class="transport-btn disabled" |
| | | disabled |
| | | > |
| | | 需先同意案例 |
| | | </button> |
| | | |
| | | <!-- 只要有转运单号就可以查看详情 --> |
| | | <!-- 有转运单可查看 --> |
| | | <button |
| | | v-if=" |
| | | caseItem.transportOrderNo && caseItem.transportOrderNo !== '' |
| | | " |
| | | v-if="hasTransport(caseItem)" |
| | | class="transport-btn secondary" |
| | | @tap.stop="viewTransportDetail(caseItem)" |
| | | > |
| | | 查看转运详情 |
| | | </button> |
| | | |
| | | <button |
| | | v-if="caseItem.transportStatus === 'transporting'" |
| | | class="transport-btn track" |
| | | @tap.stop="trackTransport(caseItem)" |
| | | > |
| | | 实时跟踪 |
| | | 查看转运单 |
| | | </button> |
| | | </view> |
| | | </view> |
| | | |
| | | <!-- 无需转运提示 --> |
| | | <view |
| | | class="transport-section" |
| | | v-else-if="caseItem.reportStatus == '3'" |
| | | > |
| | | <view class="transport-info"> |
| | | <text class="transport-note">该案例无需转运</text> |
| | | </view> |
| | | </view> |
| | | <view class="footer"> |
| | | <view class="action-info"> |
| | | <text class="label">案例状态</text> |
| | |
| | | <view class="actions"> |
| | | <button |
| | | class="action-btn" |
| | | v-if="caseItem.status === 'reported'" |
| | | v-if="caseItem.reportStatus != '1'" |
| | | @tap.stop="withdrawCase(caseItem)" |
| | | > |
| | | 撤回 |
| | | </button> |
| | | <button |
| | | class="action-btn" |
| | | v-if=" |
| | | caseItem.status === 'read' || |
| | | caseItem.status === 'agreed' || |
| | | caseItem.status === 'rejected' |
| | | " |
| | | @tap.stop="viewDetails(caseItem)" |
| | | > |
| | | <button class="action-btn" @tap.stop="viewDetails(caseItem)"> |
| | | 查看详情 |
| | | </button> |
| | | <button |
| | | class="action-btn secondary" |
| | | v-if="caseItem.status === 'reported'" |
| | | v-if="caseItem.reportStatus != '1'" |
| | | @tap.stop="editCase(caseItem)" |
| | | > |
| | | 编辑 |
| | |
| | | </view> |
| | | |
| | | <!-- 空状态 --> |
| | | <view class="empty-state" v-if="!loading && filteredCases.length === 0"> |
| | | <view class="empty-state" v-if="!loading && filteredCases.length == 0"> |
| | | <image src="/static/empty/no-case.png" mode="aspectFit" /> |
| | | <text>暂无器官捐献案例记录</text> |
| | | </view> |
| | |
| | | // 撤回确认弹窗相关 |
| | | const showWithdrawModal = ref(false); |
| | | const currentCase = ref({}); |
| | | // 数据映射函数 - 修改以匹配PC端字段 |
| | | const mapApiDataToCaseItem = (apiData) => { |
| | | const statusMap = { |
| | | 1: { status: "1", statusText: "已上报" }, |
| | | 2: { status: "2", statusText: "已阅读" }, |
| | | 3: { status: "3", statusText: "已同意" }, |
| | | 4: { status: "4", statusText: "已驳回" }, |
| | | }; |
| | | |
| | | const statusInfo = statusMap[apiData.reportStatus] || statusMap["1"]; |
| | | |
| | | // 转运状态映射 |
| | | const getTransportStatusClass = (caseData) => { |
| | | if (!hasTransport(caseData)) { |
| | | return "not-transported"; |
| | | } |
| | | const status = getTransportStatus(caseData); |
| | | const map = { |
| | | 1: "pending", |
| | | 2: "transporting", |
| | | 3: "completed", |
| | | 4: "cancelled", |
| | | 5: "draft", |
| | | }; |
| | | return map[status] || "pending"; |
| | | }; |
| | | |
| | | return { |
| | | id: apiData.id || apiData.donatebaseinfoReportId, |
| | | donorNo: apiData.caseNo, |
| | | hospitalName: apiData.treatmenthospitalname, |
| | | hospitalLogo: "/static/hospital/default.jpg", |
| | | caseType: "器官捐献案例", |
| | | donorName: apiData.name, |
| | | idCardNo: apiData.idcardno, |
| | | gender: |
| | | dict.value.sys_user_sex?.find((item) => item.dictValue == apiData.sex) |
| | | ?.dictLabel || apiData.sex, |
| | | age: apiData.age, |
| | | ageunit: apiData.ageunit, |
| | | bloodType: |
| | | dict.value.sys_BloodType?.find( |
| | | (item) => item.dictValue == apiData.bloodType, |
| | | )?.dictLabel || apiData.bloodType, |
| | | diagnosis: apiData.diagnosisname, |
| | | illnessoverview: apiData.illnessoverview, |
| | | patientstate: apiData.patientstate, |
| | | gcsScore: apiData.gcsScore, |
| | | infectious: apiData.infectious, |
| | | infectiousOther: apiData.infectiousOther, |
| | | isTransport: apiData.isTransport, |
| | | // 新增PC端字段 |
| | | education: apiData.education, |
| | | occupation: apiData.occupation, |
| | | nativeplace: apiData.nativeplace, |
| | | nation: apiData.nation, |
| | | nationality: apiData.nationality, |
| | | birthday: apiData.birthday, |
| | | idcardtype: apiData.idcardtype, |
| | | phone: apiData.phone, |
| | | // 医院信息 |
| | | departmentName: apiData.treatmentdeptname, |
| | | contactPerson: apiData.coordinatorName || apiData.infoName, |
| | | contactPhone: apiData.coordinatorNo || apiData.phone, |
| | | // 上报信息 |
| | | reportTime: apiData.reporttime, |
| | | reporterName: apiData.reportername || apiData.infoName, |
| | | reviewTime: apiData.approvetime, |
| | | reviewerName: apiData.approvername, |
| | | // 状态和转运 |
| | | ...statusInfo, |
| | | // 转运信息 |
| | | serviceTransport: apiData.serviceTransport || [], |
| | | // 其他字段 |
| | | remark: apiData.remark, |
| | | }; |
| | | }; |
| | | // 转运判断方法 - 与PC端保持一致 |
| | | const hasTransport = (caseData) => { |
| | | console.log(caseData.serviceTransport); |
| | | |
| | | return caseData.serviceTransport; |
| | | }; |
| | | |
| | | const canCreateTransport = (caseData) => { |
| | | return ( |
| | | caseData.status == "3" && // 已同意 |
| | | (caseData.isTransport == "2" || caseData.isTransport == 2) && // 需要转运 |
| | | !hasTransport(caseData) |
| | | ); // 无转运单 |
| | | }; |
| | | |
| | | const getTransportOrderNo = (caseData) => { |
| | | if (hasTransport(caseData)) { |
| | | const transport = caseData.serviceTransport[0]; |
| | | return transport.reportId || transport.id || ""; |
| | | } |
| | | return ""; |
| | | }; |
| | | |
| | | const getTransportStartTime = (caseData) => { |
| | | if (hasTransport(caseData)) { |
| | | return caseData.serviceTransport[0].transportStartTime; |
| | | } |
| | | return ""; |
| | | }; |
| | | |
| | | const getTransportPlace = (caseData) => { |
| | | if (hasTransport(caseData)) { |
| | | return caseData.serviceTransport[0].transportStartPlace; |
| | | } |
| | | return ""; |
| | | }; |
| | | |
| | | const getCoordinator = (caseData) => { |
| | | if (hasTransport(caseData)) { |
| | | return caseData.serviceTransport[0].contactPerson; |
| | | } |
| | | return ""; |
| | | }; |
| | | const getTransportStatus = (caseData) => { |
| | | if (hasTransport(caseData)) { |
| | | return caseData.serviceTransport[0].transitStatus; |
| | | } |
| | | return null; |
| | | }; |
| | | |
| | | const getTransportStatusText = (caseData) => { |
| | | if (!hasTransport(caseData)) { |
| | | return "需转运"; |
| | | } |
| | | const status = getTransportStatus(caseData); |
| | | const map = { |
| | | 1: "待转运", |
| | | 2: "转运中", |
| | | 3: "已完成", |
| | | 4: "已取消", |
| | | 5: "暂存", |
| | | }; |
| | | return map[status] || "未知"; |
| | | }; |
| | | |
| | | // 转运状态样式 |
| | | const getTransportStatusClass = (caseData) => { |
| | | if (!hasTransport(caseData)) { |
| | | return "not-transported"; |
| | | } |
| | | const status = getTransportStatus(caseData); |
| | | const map = { |
| | | 1: "pending", |
| | | 2: "transporting", |
| | | 3: "completed", |
| | | 4: "cancelled", |
| | | 5: "draft", |
| | | }; |
| | | return map[status] || "pending"; |
| | | }; |
| | | |
| | | // 修复编辑按钮跳转 |
| | | const editCase = (caseItem) => { |
| | | uni.navigateTo({ |
| | | url: `/pages/case/CaseDetails?id=${caseItem.id}&edit=true`, |
| | | }); |
| | | }; |
| | | |
| | | // 修复查看详情按钮跳转 |
| | | const viewDetails = (caseItem) => { |
| | | uni.navigateTo({ |
| | | url: `/pages/case/CaseInfo?id=${caseItem.id}`, |
| | | }); |
| | | }; |
| | | |
| | | // 原有的转运操作方法保持不变 |
| | | const createTransportOrder = (caseItem) => { |
| | | uni.navigateTo({ |
| | | url: `/pages/transport/create?caseId=${caseItem.id}&caseNo=${caseItem.donorNo}`, |
| | | }); |
| | | }; |
| | | |
| | | const viewTransportDetail = (caseItem) => { |
| | | if (hasTransport(caseItem)) { |
| | | const transport = caseItem.serviceTransport[0]; |
| | | uni.navigateTo({ |
| | | url: `/pages/transport/detail?orderNo=${transport.id}`, |
| | | }); |
| | | } |
| | | }; |
| | | |
| | | // 筛选相关 |
| | | const caseTypes = [ |
| | | { label: "全部", value: "all" }, |
| | | { label: "已上报", value: "reported" }, |
| | | { label: "已阅读", value: "read" }, |
| | | { label: "已同意", value: "agreed" }, |
| | | { label: "已驳回", value: "rejected" }, |
| | | { label: "全部", value: "" }, |
| | | { label: "已上报", value: "1" }, |
| | | { label: "已阅读", value: "2" }, |
| | | { label: "已同意", value: "3" }, |
| | | { label: "已驳回", value: "4" }, |
| | | ]; |
| | | const currentType = ref("all"); |
| | | const startDate = ref(""); |
| | |
| | | completed: { text: "已完成", color: "success", class: "completed" }, |
| | | }; |
| | | |
| | | // 数据映射函数 |
| | | // 数据映射函数 |
| | | const mapApiDataToCaseItem = (apiData) => { |
| | | const statusMap = { |
| | | 1: { status: "reported", statusText: "已上报" }, |
| | | 2: { status: "read", statusText: "已阅读" }, |
| | | 3: { status: "agreed", statusText: "已同意" }, |
| | | 4: { status: "rejected", statusText: "已驳回" }, |
| | | }; |
| | | |
| | | const transportStatusMap = { |
| | | 1: "not_transported", |
| | | 2: "transporting", |
| | | 3: "completed", |
| | | 4: "not_transported", |
| | | 5: "not_transported", |
| | | }; |
| | | |
| | | const statusInfo = statusMap[apiData.reportStatus] || statusMap["1"]; |
| | | |
| | | // 处理转运信息 - 更加健壮的处理 |
| | | let transportDetails = null; |
| | | let transportStatus = "not_transported"; |
| | | let transportOrderNo = ""; |
| | | let transportTime = ""; |
| | | |
| | | // 优先从 serviceTransport 获取转运信息 |
| | | if ( |
| | | apiData.serviceTransport && |
| | | Array.isArray(apiData.serviceTransport) && |
| | | apiData.serviceTransport.length > 0 |
| | | ) { |
| | | const transport = apiData.serviceTransport[0]; |
| | | transportDetails = { |
| | | driver: transport.driver || "", |
| | | vehicle: transport.vehicle || "", |
| | | phone: transport.driverPhone || "", |
| | | currentLocation: transport.transportStartPlace || "", |
| | | estimatedTime: transport.estimatedTime || "", |
| | | completedTime: transport.completedTime || "", |
| | | }; |
| | | transportStatus = |
| | | transportStatusMap[transport.transitStatus] || "not_transported"; |
| | | transportOrderNo = transport.id || ""; |
| | | transportTime = transport.transportStartTime || ""; |
| | | } |
| | | |
| | | // 如果直接有转运信息,也进行处理 |
| | | if (apiData.transportOrderNo) { |
| | | transportOrderNo = apiData.transportOrderNo; |
| | | } |
| | | if (apiData.transportStartTime) { |
| | | transportTime = apiData.transportStartTime; |
| | | } |
| | | if (apiData.transitStatus) { |
| | | transportStatus = |
| | | transportStatusMap[apiData.transitStatus] || "not_transported"; |
| | | } |
| | | |
| | | return { |
| | | id: apiData.id || apiData.donatebaseinfoReportId, |
| | | donorNo: apiData.caseNo, |
| | | hospitalName: apiData.treatmenthospitalname, |
| | | hospitalLogo: "/static/hospital/default.jpg", |
| | | caseType: "器官捐献案例", |
| | | donorName: apiData.name, |
| | | idCardNo: apiData.idcardno, |
| | | gender: |
| | | dict.value.sys_user_sex?.find((item) => item.dictValue === apiData.sex) |
| | | ?.dictLabel || apiData.sex, |
| | | age: apiData.age, |
| | | bloodType: |
| | | dict.value.sys_BloodType?.find( |
| | | (item) => item.dictValue === apiData.bloodType |
| | | )?.dictLabel || apiData.bloodType, |
| | | diagnosis: apiData.diagnosisname, |
| | | reportTime: apiData.reporttime, |
| | | reporterName: apiData.reportername, |
| | | reviewTime: apiData.reviewTime, |
| | | reviewerName: apiData.reviewerName, |
| | | departmentName: apiData.treatmentdeptname, |
| | | contactPerson: apiData.userName || apiData.contactPerson, |
| | | contactPhone: apiData.phone, |
| | | ...statusInfo, |
| | | transportStatus: transportStatus, |
| | | transportOrderNo: transportOrderNo, |
| | | transportTime: transportTime, |
| | | transportDetails: transportDetails, |
| | | }; |
| | | }; |
| | | |
| | | // 生命周期 |
| | | onLoad(async (options) => { |
| | | // 获取字典数据 |
| | |
| | | "sys_IDType", |
| | | "sys_user_sex", |
| | | "sys_BloodType", |
| | | "sys_DiseaseType" |
| | | "sys_DiseaseType", |
| | | ); |
| | | |
| | | // 加载数据 |
| | |
| | | |
| | | const res = await uni.$uapi.post( |
| | | "/project/donatebaseinforeport/list", |
| | | params |
| | | params, |
| | | ); |
| | | console.log(res, "res"); |
| | | |
| | | const mappedData = res.map((item) => mapApiDataToCaseItem(item)); |
| | | |
| | | if (pageNum.value === 1) { |
| | | if (pageNum.value == 1) { |
| | | cases.value = mappedData; |
| | | } else { |
| | | cases.value = [...cases.value, ...mappedData]; |
| | |
| | | let result = cases.value; |
| | | |
| | | if (currentType.value !== "all") { |
| | | result = result.filter((caseItem) => caseItem.status === currentType.value); |
| | | result = result.filter( |
| | | (caseItem) => caseItem.reportStatus == currentType.value, |
| | | ); |
| | | } |
| | | |
| | | if (startDate.value && endDate.value) { |
| | |
| | | await donatebaseinforeportList(); |
| | | }; |
| | | |
| | | // 其他功能函数(保持原有逻辑) |
| | | const createTransportOrder = (caseItem) => { |
| | | uni.navigateTo({ |
| | | url: `/pages/case/transferinfo?caseId=${caseItem.id}&donorNo=${caseItem.donorNo}`, |
| | | }); |
| | | }; |
| | | |
| | | const viewTransportDetail = (caseItem) => { |
| | | uni.navigateTo({ |
| | | url: `/pages/transport/detail?orderNo=${caseItem.transportOrderNo}`, |
| | | }); |
| | | }; |
| | | |
| | | const trackTransport = (caseItem) => { |
| | | uni.navigateTo({ |
| | | url: `/pages/transport/track?orderNo=${caseItem.transportOrderNo}`, |
| | |
| | | }; |
| | | |
| | | const updateTransportStatus = (orderNo, newStatus) => { |
| | | const caseItem = cases.value.find( |
| | | (item) => item.transportOrderNo === orderNo |
| | | ); |
| | | const caseItem = cases.value.find((item) => item.transportOrderNo == orderNo); |
| | | if (caseItem) { |
| | | caseItem.transportStatus = newStatus; |
| | | } |
| | |
| | | |
| | | const confirmWithdraw = () => { |
| | | const index = cases.value.findIndex( |
| | | (item) => item.id === currentCase.value.id |
| | | (item) => item.id == currentCase.value.id, |
| | | ); |
| | | if (index !== -1) { |
| | | cases.value.splice(index, 1); |
| | |
| | | |
| | | const cancelWithdraw = () => { |
| | | showWithdrawModal.value = false; |
| | | }; |
| | | |
| | | const viewDetails = (caseItem) => { |
| | | uni.navigateTo({ |
| | | url: `/pages/case/detail?id=${caseItem.id}`, |
| | | }); |
| | | }; |
| | | |
| | | const editCase = (caseItem) => { |
| | | uni.navigateTo({ |
| | | url: `/pages/case/edit?id=${caseItem.id}`, |
| | | }); |
| | | }; |
| | | </script> |
| | | |