WXL
2 天以前 c80bc467a41daa6cbae4e5515a300a8ca98cfeaa
pagesSub/case/index.vue
@@ -75,18 +75,16 @@
              <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>
@@ -234,7 +232,9 @@
            </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)"
            >
              编辑
@@ -282,7 +282,7 @@
    <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>
@@ -327,6 +327,7 @@
  return {
    id: apiData.id || apiData.donatebaseinfoReportId,
    donorNo: apiData.caseNo,
    caseNo:apiData.caseNo,
    reportStatus: apiData.reportStatus,
    hospitalName: apiData.treatmenthospitalname,
    hospitalLogo: "/static/hospital/default.jpg",
@@ -334,14 +335,13 @@
    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,
@@ -381,7 +381,7 @@
};
const createNewCase = () => {
  uni.navigateTo({
    url: '/pagesSub/case/CaseDetails'
    url: "/pagesSub/case/CaseDetails",
  });
};
const canCreateTransport = (caseData) => {
@@ -479,13 +479,13 @@
};
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];
@@ -527,8 +527,9 @@
  }
});
onShow(() => {
onShow(async () => {
  const transportUpdate = uni.getStorageSync("transportStatusUpdate");
  await loadInitialData();
  if (transportUpdate) {
    updateTransportStatus(transportUpdate.orderNo, transportUpdate.status);
    uni.removeStorageSync("transportStatusUpdate");
@@ -594,7 +595,7 @@
      const mappedData = data.map((item) => mapApiDataToCaseItem(item));
      
      if (reset || pageNum.value == 1) {
        console.log(mappedData,'mappedData');
        console.log(mappedData, "mappedData");
        
        cases.value = mappedData;
      } else {
@@ -645,7 +646,7 @@
// 计算属性:筛选记录 - 现在只做前端状态筛选
const filteredCases = computed(() => {
  let result = cases.value;
  console.log(result,'result');
  console.log(result, "result");
  
  // 只做前端状态筛选,时间筛选已经通过接口实现
  // if (currentType.value !== "all") {
@@ -725,12 +726,14 @@
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);
@@ -1134,7 +1137,8 @@
    }
  }
  
  .load-more, .no-more {
  .load-more,
  .no-more {
    text-align: center;
    padding: 40rpx 0;
    color: $text-secondary;