From 888f941ae16c850c0f1a844ec9436058840920bd Mon Sep 17 00:00:00 2001
From: WXL <wl_5969728@163.com>
Date: 星期五, 24 四月 2026 09:19:02 +0800
Subject: [PATCH] 推送

---
 pages/case/CaseDetails.vue |  140 ++++++++++++++++++++--------------------------
 1 files changed, 61 insertions(+), 79 deletions(-)

diff --git a/pages/case/CaseDetails.vue b/pages/case/CaseDetails.vue
index e2ead72..fa0f18c 100644
--- a/pages/case/CaseDetails.vue
+++ b/pages/case/CaseDetails.vue
@@ -207,7 +207,23 @@
                 :customStyle="textareaStyle(!form.diagnosisname)"
               />
             </view>
-
+            <view class="form-item">
+              <text class="item-label">鏄惁闇�瑕佽浆杩�</text>
+              <view class="radio-group horizontal">
+                <view
+                  v-for="bloodType in isTransportOptions"
+                  :key="bloodType.value"
+                  class="radio-item"
+                  @click="form.isTransport = bloodType.value"
+                >
+                  <view
+                    class="radio-dot"
+                    :class="{ active: form.isTransport === bloodType.value }"
+                  ></view>
+                  <text class="radio-label">{{ bloodType.label }}</text>
+                </view>
+              </view>
+            </view>
             <view class="form-item">
               <text class="item-label">琛�鍨�</text>
               <view class="radio-group horizontal">
@@ -246,7 +262,7 @@
               <text class="item-label">鍏朵粬</text>
               <u-input
                 v-model="form.infectiousOther"
-                placeholder="璇疯緭鍏ヤ綇闄㈠彿"
+                placeholder="璇疯緭鍏ュ叾浠栦紶鏌撶梾"
                 border="none"
               />
             </view>
@@ -535,15 +551,18 @@
 ]);
 
 const bloodTypeOptions = ref([
-  { label: "A鍨�", value: "A" },
-  { label: "B鍨�", value: "B" },
-  { label: "O鍨�", value: "O" },
-  { label: "AB鍨�", value: "AB" },
+  { label: "A鍨�", value: "A鍨�" },
+  { label: "B鍨�", value: "B鍨�" },
+  { label: "O鍨�", value: "O鍨�" },
+  { label: "AB鍨�", value: "AB鍨�" },
 ]);
-
+const isTransportOptions = ref([
+  { label: "闇�瑕�", value: "2" },
+  { label: "涓嶉渶瑕�", value: "1" },
+]);
 const rhOptions = ref([
-  { label: "闃虫��", value: "positive" },
-  { label: "闃存��", value: "negative" },
+  { label: "闃虫��", value: "1" },
+  { label: "闃存��", value: "0" },
 ]);
 
 const reporterOptions = ref([
@@ -616,17 +635,18 @@
     : "璇烽�夋嫨璇佷欢绫诲瀷";
 });
 
-
 const onNationChange = (e) => {
   const index = parseInt(e.detail.value);
-  nationIndex.value = nationOptions.value[index].label;
+  nationIndex.value = index;
   form.value.nation = nationOptions.value[index].label;
+  console.log(form.value.nation, "form.value.nation");
 };
 
 const onIdCardTypeChange = (e) => {
   const index = parseInt(e.detail.value);
   idCardTypeIndex.value = index;
   form.value.idcardtype = idCardTypeOptions.value[index].value;
+  console.log(form.value.idcardtype, "form.value.idcardtype");
 };
 
 const onBirthdayChange = (e) => {
@@ -804,16 +824,19 @@
 // 澶勭悊鍩虹闄勪欢涓婁紶
 const handleBaseUpload = (file) => {
   console.log("鍩虹闄勪欢涓婁紶鎴愬姛:", file);
+  attachments.value.push(file);
 };
 
 // 澶勭悊鍏朵粬闄勪欢涓婁紶
 const handleFilesUpdate = (files) => {
-  formData.attachments = files.map((file) => ({
+  console.log(files, "files");
+
+  attachments.value = files.map((file) => ({
     ...file,
     // 纭繚鍙瓨鍌ㄥ崐璺緞
-    url: file.url.startsWith("http")
-      ? file.url.replace(baseUrlHt, "")
-      : file.url,
+    // url: file.url.startsWith("http")
+    //   ? file.url.replace(baseUrlHt, "")
+    //   : file.url,
   }));
 };
 
@@ -825,7 +848,7 @@
 
   if (file.type.includes("image")) {
     uni.previewImage({
-      urls: formData.attachments
+      urls: attachments.value
         .filter((f) => f.type.includes("image"))
         .map((f) =>
           f.url.startsWith("http")
@@ -862,6 +885,8 @@
 };
 
 const onHospitalConfirm = (e) => {
+  console.log(e, "姘戞棌");
+
   if (e.value && e.value[0]) {
     form.value.treatmenthospitalname = e.value[0].label;
   }
@@ -946,14 +971,13 @@
 
   try {
     uni.showLoading({ title: isEditMode.value ? "淇敼涓�..." : "鎻愪氦涓�..." });
-
     // 鍑嗗鎻愪氦鏁版嵁
     const submitData = {
       ...form.value,
       age: parseInt(form.value.age) || 0,
       annexfilesList: attachments.value.map((file) => ({
-        url: file.url,
-        name: file.name,
+        path: file.url,
+        fileName: file.name,
         type: file.type,
       })),
       phone: form.value.infophone,
@@ -1013,47 +1037,26 @@
 };
 
 const loadCaseData = async (id) => {
-  // 妯℃嫙鍔犺浇缂栬緫鏁版嵁
-  // form.value = {
-  //   caseNo: "DON20241216001",
-  //   treatmenthospitalname: "闈掑矝闀滄箹鍖婚櫌",
-  //   treatmentdeptname: "绁炵粡澶栫",
-  //   name: "寮犱笁",
-  //   nation: "姹夋棌",
-  //   nationality: "涓浗",
-  //   idcardtype: "灞呮皯韬唤璇�",
-  //   idcardno: "370203198510123456",
-  //   sex: "1",
-  //   birthday: "1985-10-12",
-  //   age: "38",
-  //   inpatientno: "ZY20241216001",
-  //   diagnosisname: "鑴戝浼ゅ鑷磋剳姝讳骸",
-  //   bloodType: "A",
-  //   rhYin: "positive",
-  //   infoname: "鏉庡尰鐢�",
-  //   infophone: "13800138000",
-  //   reporterno: "寮犲尰鐢�",
-  //   reporttime: currentTime.value,
-  // };
   try {
     loading.value = true;
     const res = await uni.$uapi.get(
       `/project/donatebaseinforeport/getInfo/${id}`,
     );
 
-    if (res) {
-      console.log(res, "res");
-
-      form.value = res;
-      console.log(1, "res");
+    if (res.code) {
+      form.value = res.data;
 
       // 澶勭悊閫夋嫨鍣ㄧ储寮�
       // updatePickerIndexes();
 
       console.log(2, "res");
       // 澶勭悊闄勪欢
-      if (res.annexfilesList) {
-        attachments.value = res.annexfilesList;
+      if (res.data.annexfilesList) {
+        attachments.value = res.data.annexfilesList;
+        attachments.value.forEach((item) => {
+          item.url = item.path;
+          item.name = item.fileName;
+        });
       }
       console.log(3, "res");
 
@@ -1074,32 +1077,7 @@
     loading.value = false;
   }
 };
-// 鏇存柊閫夋嫨鍣ㄧ储寮�
-const updatePickerIndexes = () => {
-  // 鍖荤枟鏈烘瀯绱㈠紩
-  const hospitalIndex = hospitalOptions.value.findIndex(
-    (item) => item.label === form.value.treatmenthospitalname,
-  );
-  if (hospitalIndex !== -1) hospitalIndex.value = hospitalIndex;
 
-  // 绉戝绱㈠紩
-  const deptIndex = pickerColumns.value[0].findIndex(
-    (item) => item.label === form.value.treatmentdeptname,
-  );
-  if (deptIndex !== -1) deptIndex.value = deptIndex;
-
-  // 姘戞棌绱㈠紩
-  const nationIndex = nationOptions.value.findIndex(
-    (item) => item.label === form.value.nation,
-  );
-  if (nationIndex !== -1) nationIndex.value = nationIndex;
-
-  // 璇佷欢绫诲瀷绱㈠紩
-  const idCardTypeIndex = idCardTypeOptions.value.findIndex(
-    (item) => item.value === form.value.idcardtype,
-  );
-  if (idCardTypeIndex !== -1) idCardTypeIndex.value = idCardTypeIndex;
-};
 </script>
 <style lang="scss" scoped>
 .case-report-container {
@@ -1234,6 +1212,16 @@
   display: flex;
   gap: 20rpx;
   margin-top: 40rpx;
+  // background: #fff;
+  // padding: 20rpx 0;
+  // position: fixed;
+  // bottom: 0;
+  // left: 0;
+  // right: 0;
+  // padding: 20rpx 30rpx;
+  // padding-bottom: calc(20rpx + env(safe-area-inset-bottom));
+  // box-shadow: 0 -2rpx 20rpx rgba(0, 0, 0, 0.08);
+  // z-index: 9;
 }
 
 .btn {
@@ -1457,12 +1445,6 @@
   border-radius: 12rpx !important;
   padding: 20rpx 24rpx !important;
   background: #fff !important;
-}
-
-.action-buttons {
-  display: flex;
-  gap: 20rpx;
-  margin-top: 40rpx;
 }
 
 .btn {

--
Gitblit v1.9.3