| | |
| | | <text class="type">{{ caseItem.caseType }}</text> |
| | | </view> |
| | | </view> |
| | | <text |
| | | class="status" |
| | | :class="getStatusClass(caseItem.reportStatus)" |
| | | >{{ caseItem.statusText }}</text |
| | | > |
| | | <text class="status" :class="getStatusClass(caseItem.reportStatus)">{{ |
| | | caseItem.statusText |
| | | }}</text> |
| | | </view> |
| | | |
| | | <view class="detail-info"> |
| | | <!-- 基础信息保持不变 --> |
| | | <view class="info-item"> |
| | | <text class="label">捐献编号</text> |
| | | <text class="value">{{ caseItem.donorNo }}</text> |
| | | <text class="value">{{ caseItem.caseNo }}</text> |
| | | </view> |
| | | <view class="info-item"> |
| | | <text class="label">捐献者姓名</text> |
| | |
| | | </button> |
| | | <button |
| | | class="action-btn secondary" |
| | | v-if="caseItem.reportStatus == '1' || caseItem.reportStatus == '2'" |
| | | v-if=" |
| | | caseItem.reportStatus == '1' || caseItem.reportStatus == '2' |
| | | " |
| | | @tap.stop="editCase(caseItem)" |
| | | > |
| | | 编辑 |
| | |
| | | <u-loading-page v-if="initLoading" :loading="true" text="数据加载中..." /> |
| | | </view> |
| | | <view class="float-button" @tap="createNewCase"> |
| | | <u-icon name="plus" color="#fff" size="24"></u-icon> |
| | | <up-icon name="plus" color="#fff" size="24"></up-icon> |
| | | </view> |
| | | </template> |
| | | |
| | |
| | | return { |
| | | id: apiData.id || apiData.donatebaseinfoReportId, |
| | | donorNo: apiData.caseNo, |
| | | caseNo:apiData.caseNo, |
| | | reportStatus: apiData.reportStatus, |
| | | hospitalName: apiData.treatmenthospitalname, |
| | | hospitalLogo: "/static/hospital/default.jpg", |
| | |
| | | donorName: apiData.name, |
| | | idCardNo: apiData.idcardno, |
| | | gender: |
| | | dict.value.sys_user_sex?.find((item) => item.dictValue == apiData.sex) |
| | | ?.dictLabel || apiData.sex, |
| | | dict.value.sys_user_sex?.find((item) => item.value == apiData.sex) |
| | | ?.label || apiData.sex, |
| | | age: apiData.age, |
| | | ageunit: apiData.ageunit, |
| | | bloodType: |
| | | dict.value.sys_BloodType?.find( |
| | | (item) => item.dictValue == apiData.bloodType, |
| | | )?.dictLabel || apiData.bloodType, |
| | | dict.value.sys_BloodType?.find((item) => item.value == apiData.bloodType) |
| | | ?.label || apiData.bloodType, |
| | | diagnosis: apiData.diagnosisname, |
| | | illnessoverview: apiData.illnessoverview, |
| | | patientstate: apiData.patientstate, |
| | |
| | | }; |
| | | const createNewCase = () => { |
| | | uni.navigateTo({ |
| | | url: '/pagesSub/case/CaseDetails' |
| | | url: "/pagesSub/case/CaseDetails", |
| | | }); |
| | | }; |
| | | const canCreateTransport = (caseData) => { |
| | |
| | | }; |
| | | const getStatusClass = (status) => { |
| | | const map = { |
| | | '1': 'reported', // 已上报 |
| | | '2': 'read', // 已阅读 |
| | | '3': 'agreed', // 已同意 |
| | | '4': 'rejected' // 已驳回 |
| | | 1: "reported", // 已上报 |
| | | 2: "read", // 已阅读 |
| | | 3: "agreed", // 已同意 |
| | | 4: "rejected", // 已驳回 |
| | | }; |
| | | return map[status] || 'reported'; |
| | | } |
| | | return map[status] || "reported"; |
| | | }; |
| | | const viewTransportDetail = (caseItem) => { |
| | | if (hasTransport(caseItem)) { |
| | | const transport = caseItem.serviceTransport[0]; |
| | |
| | | } |
| | | }); |
| | | |
| | | onShow(() => { |
| | | onShow(async () => { |
| | | const transportUpdate = uni.getStorageSync("transportStatusUpdate"); |
| | | await loadInitialData(); |
| | | if (transportUpdate) { |
| | | updateTransportStatus(transportUpdate.orderNo, transportUpdate.status); |
| | | uni.removeStorageSync("transportStatusUpdate"); |
| | |
| | | const mappedData = data.map((item) => mapApiDataToCaseItem(item)); |
| | | |
| | | if (reset || pageNum.value == 1) { |
| | | console.log(mappedData,'mappedData'); |
| | | console.log(mappedData, "mappedData"); |
| | | |
| | | cases.value = mappedData; |
| | | } else { |
| | |
| | | // 计算属性:筛选记录 - 现在只做前端状态筛选 |
| | | const filteredCases = computed(() => { |
| | | let result = cases.value; |
| | | console.log(result,'result'); |
| | | console.log(result, "result"); |
| | | |
| | | // 只做前端状态筛选,时间筛选已经通过接口实现 |
| | | // if (currentType.value !== "all") { |
| | |
| | | |
| | | const confirmWithdraw = async () => { |
| | | try { |
| | | const res = await uni.$uapi.delete(`/project/donatebaseinforeport/${currentCase.value.id}`); |
| | | const res = await uni.$uapi.delete( |
| | | `/project/donatebaseinforeport/${currentCase.value.id}`, |
| | | ); |
| | | |
| | | if (res.code === 200) { |
| | | // 从列表中移除 |
| | | 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); |
| | |
| | | } |
| | | } |
| | | |
| | | .load-more, .no-more { |
| | | .load-more, |
| | | .no-more { |
| | | text-align: center; |
| | | padding: 40rpx 0; |
| | | color: $text-secondary; |