From 8c6f8c4fcb8bf60efe9f0b9a98f87d8dfad9f25f Mon Sep 17 00:00:00 2001
From: WXL <wl_5969728@163.com>
Date: 星期二, 14 十月 2025 17:49:44 +0800
Subject: [PATCH] 捐献历史数据同步问题

---
 src/views/project/donationdetails/index.vue |   97 +++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 82 insertions(+), 15 deletions(-)

diff --git a/src/views/project/donationdetails/index.vue b/src/views/project/donationdetails/index.vue
index 2d69c3d..78587ba 100644
--- a/src/views/project/donationdetails/index.vue
+++ b/src/views/project/donationdetails/index.vue
@@ -432,7 +432,10 @@
           </el-row> -->
           <el-row>
             <el-col :span="6">
-              <el-form-item label="鎵�鍦ㄥ尰鐤楁満鏋�" prop="occupation">
+              <el-form-item
+                label="鎵�鍦ㄥ尰鐤楁満鏋�"
+                prop="currentMedicalInstitution"
+              >
                 <el-input
                   v-model="form.currentMedicalInstitution"
                   placeholder="璇疯緭鍏�"
@@ -443,7 +446,7 @@
               <el-form-item
                 label-width="130px"
                 label="鎵�鍦ㄥ尰鐤楁満鏋勭瀹�"
-                prop="education"
+                prop="currentDept"
               >
                 <el-input v-model="form.currentDept" placeholder="璇疯緭鍏�" />
               </el-form-item>
@@ -451,7 +454,7 @@
           </el-row>
           <el-row>
             <el-col :span="6">
-              <el-form-item label="棣栨鍖荤枟鏈烘瀯" prop="occupation">
+              <el-form-item label="棣栨鍖荤枟鏈烘瀯" prop="firstMedicalInstitution">
                 <el-input
                   v-model="form.firstMedicalInstitution"
                   placeholder="璇疯緭鍏�"
@@ -462,7 +465,7 @@
               <el-form-item
                 label-width="130px"
                 label="棣栨鍖荤枟鏈烘瀯绉戝"
-                prop="education"
+                prop="firstDept"
               >
                 <el-input v-model="form.firstDept" placeholder="璇疯緭鍏�" />
               </el-form-item>
@@ -534,7 +537,7 @@
             </el-col>
           </el-row>
           <el-row>
-            <el-form-item label="鐤剧梾绫诲瀷" align="left">
+            <el-form-item label="鐤剧梾绫诲瀷" align="left" prop="diseasetype">
               <el-checkbox-group v-model="form.diseasetype">
                 <el-checkbox
                   v-for="dict in dict.type.sys_DiseaseType || []"
@@ -554,7 +557,7 @@
           </el-row>
           <el-row>
             <el-col :span="12">
-              <el-form-item align="left" label="浼犳煋鐥�">
+              <el-form-item align="left" label="浼犳煋鐥�" prop="infectious">
                 <el-checkbox-group v-model="form.infectious">
                   <el-checkbox
                     v-for="dict in dict.type.sys_Infectious || []"
@@ -577,7 +580,7 @@
           </el-row>
           <el-row>
             <el-col :span="9">
-              <el-form-item align="left" label="鐥呬汉鐘跺喌">
+              <el-form-item align="left" label="鐥呬汉鐘跺喌" prop="patientstate">
                 <el-checkbox-group v-model="form.patientstate">
                   <el-checkbox
                     v-for="dict in dict.type.sys_patientstate || []"
@@ -590,7 +593,7 @@
               </el-form-item>
             </el-col>
             <el-col :span="15" align="left">
-              <el-form-item label="鍏朵粬鎯呭喌">
+              <el-form-item label="鍏朵粬鎯呭喌" prop="othercases">
                 <el-checkbox-group v-model="form.othercases">
                   <el-checkbox
                     v-for="dict in dict.type.sys_OtherCases || []"
@@ -677,7 +680,7 @@
           </el-row>
           <el-row>
             <el-col :span="12">
-              <el-form-item align="left" label="淇℃伅鏉ユ簮">
+              <el-form-item align="left" label="淇℃伅鏉ユ簮" prop="infosources">
                 <el-checkbox-group v-model="form.infosources">
                   <el-checkbox
                     v-for="dict in dict.type.sys_InfoSources || []"
@@ -1170,6 +1173,12 @@
                   >{{ item }}
                 </el-checkbox>
               </el-checkbox-group>
+              <el-input
+                v-if="organdecision.includes('鍏朵粬')"
+                v-model="affirmform.organdecisionOther"
+                placeholder="璇疯緭鍏ュ叾浠栨崘鐚喅瀹氱殑鍏蜂綋鍐呭"
+                style="margin-top: 10px; width: 300px;"
+              ></el-input>
             </el-form-item>
           </el-row>
           <el-row>
@@ -1869,6 +1878,9 @@
                   border
                   :key="tableKey"
                   :data="procureddata"
+                  lazy
+                  :load="loadRowData"
+                  :row-key="row => row.organno"
                 >
                   <el-table-column
                     label="鍣ㄥ畼鍚嶇О"
@@ -2734,6 +2746,7 @@
         kinship: []
       },
       organdecision: [],
+      organdecisionOther: "", // 鍏朵粬閫夐」鐨勫叿浣撴弿杩�
       kinship: [],
       ethicform: {
         infoid: null
@@ -2741,7 +2754,8 @@
       kinshiplist: ["閰嶅伓", "鐖朵翰", "姣嶄翰", "瀛愬コ", "鍙楁墭浜�"],
       organselection: [
         "鑲濊剰",
-        "鍙岃偩鑴�",
+        "宸﹁偩",
+        "鍙宠偩",
         "蹇冭剰",
         "鑲鸿剰",
         "鑳拌吅",
@@ -2845,6 +2859,21 @@
         name: [
           { required: true, message: "璇疯緭鍏ユ崘鐚�呭鍚�", trigger: "blur" }
         ],
+        nationality: [
+          { required: true, message: "璇疯緭鍏ュ浗绫�", trigger: "blur" }
+        ],
+        currentMedicalInstitution: [
+          { required: true, message: "璇疯緭鍏ユ墍鍦ㄥ尰鐤楁満鏋�", trigger: "blur" }
+        ],
+        currentDept: [
+          { required: true, message: "鎵�鍦ㄥ尰鐤楁満鏋勭瀹�", trigger: "blur" }
+        ],
+        firstMedicalInstitution: [
+          { required: true, message: "璇疯緭鍏ラ娆″尰鐤楁満鏋�", trigger: "blur" }
+        ],
+        firstDept: [
+          { required: true, message: "璇疯緭鍏ラ娆″尰鐤楁満鏋勭瀹�", trigger: "blur" }
+        ],
         birthday: [
           { required: true, message: "璇烽�夋嫨鍑虹敓鏃ユ湡", trigger: "blur" }
         ],
@@ -2854,7 +2883,30 @@
         residenceaddress: [
           { required: true, message: "璇疯緭鍏ヤ綇鍧�", trigger: "blur" }
         ],
-
+        registerAddresss: [
+          { required: true, message: "璇疯緭鍏ョ幇灞呬綇鍦板潃", trigger: "blur" }
+        ],
+        diseasetype: [
+          { required: true, message: "璇烽�夋嫨鐤剧梾绫诲瀷", trigger: "blur" }
+        ],
+        infectious: [
+          { required: true, message: "璇烽�夋嫨浼犳煋鐥呯被鍨�", trigger: "blur" }
+        ],
+        patientstate: [
+          { required: true, message: "璇烽�夋嫨鐥呬汉鐘跺喌", trigger: "blur" }
+        ],
+        kinship: [
+          { required: true, message: "璇烽�夋嫨浜插睘鎯呭喌", trigger: "blur" }
+        ],
+        majorrelatives: [
+          { required: true, message: "璇疯緭鍏ヤ富瑕佷翰灞�", trigger: "blur" }
+        ],
+        familyrelations: [
+          { required: true, message: "璇烽�夋嫨浜插睘涓庢崘鐚�呭叧绯�", trigger: "blur" }
+        ],
+        infosources: [
+          { required: true, message: "璇烽�夋嫨淇℃伅鏉ユ簮", trigger: "blur" }
+        ],
         idcardno: [
           { required: true, message: "璇锋纭緭鍏ヨ瘉浠跺彿鐮�", trigger: "blur" }
         ],
@@ -3005,7 +3057,7 @@
         }
         this.customOrganSort();
       },
-      deep: true // 娣卞害鐩戝惉锛屽洜涓烘暟缁勫唴瀹瑰彲鑳藉彉鍖�
+      // deep: true // 娣卞害鐩戝惉锛屽洜涓烘暟缁勫唴瀹瑰彲鑳藉彉鍖�
     },
     allocateddata: {
       handler(newVal) {
@@ -3014,11 +3066,16 @@
         }
         this.allocateddataSort();
       },
-      deep: true // 娣卞害鐩戝惉锛屽洜涓烘暟缁勫唴瀹瑰彲鑳藉彉鍖�
+      // deep: true // 娣卞害鐩戝惉锛屽洜涓烘暟缁勫唴瀹瑰彲鑳藉彉鍖�
     }
   },
 
   methods: {
+    loadRowData(row, treeNode, resolve) {
+    // 鍙湁褰撹灞曞紑鎴栭渶瑕佹椂鎵嶅畬鏁存覆鏌撳唴閮ㄧ粍浠�
+    this.$set(row, 'loaded', true)
+    resolve()
+  },
     // 鑾峰彇涓昏〃鍙婇檮灞炴暟鎹�
     Getbasicinformation() {
       // 宸︿晶娴佺▼鏁版嵁
@@ -3106,7 +3163,7 @@
           if (response.code == 200 && response.rows[0]) {
             this.affirmform = response.rows[0];
             if (this.affirmform.organdecision) {
-              this.organdecision = this.affirmform.organdecision.split(",");
+              this.organdecision = this.affirmform.organdecision.split(",").flatMap(item => item === "鍙岃偩鑴�" ? ["宸﹁偩", "鍙宠偩"] : item);;
             }
             if (this.affirmform.kinship) {
               this.kinship = this.affirmform.kinship.split(",");
@@ -3285,6 +3342,8 @@
       this.$refs["form"].validate(valid => {
         console.log("鎻愪氦鐨勬暟鎹滑锛�", this.form);
         if (valid) {
+          console.log(112);
+
           this.form.birthday = this.$moment(this.form.birthday).format(
             "YYYY-MM-DD HH:mm:ss"
           );
@@ -3371,6 +3430,9 @@
               }
             });
           }
+        }else{
+                this.$modal.msgError("鍓嶉儴姝ラ琛ㄥ崟淇℃伅鏈夌己婕忚鎺掓煡鍚庨噸鏂颁繚瀛�");
+
         }
       });
     },
@@ -3399,6 +3461,9 @@
       } else if (this.actives == 2) {
         this.affirmform.infoid = this.infoid;
         this.affirmform.organdecision = this.organdecision.join(",");
+        if (!this.organdecision.includes("鍏朵粬")) {
+          this.affirmform.organdecisionOther = "";
+        }
         this.affirmform.kinship = this.kinship.join(",");
         this.$refs["affirmform"].validate(valid => {
           if (valid) {
@@ -3614,6 +3679,7 @@
 
       // 1. 鍔犻攣锛岄樆姝㈢洃鍚櫒鎵ц
       this.isSorting = true;
+      this.loading = true;
       // 鑷畾涔夋帓搴忓嚱鏁�
       this.procureddata.sort((a, b) => {
         const indexA = this.organOrder.indexOf(a.organname);
@@ -3640,9 +3706,10 @@
       this.procureddata = [...this.procureddata];
       this.$nextTick(() => {
         this.isSorting = false;
+      this.loading = false;
       });
     },
-     allocateddataSort() {
+    allocateddataSort() {
       console.log("璋冪敤");
 
       // 1. 鍔犻攣锛岄樆姝㈢洃鍚櫒鎵ц

--
Gitblit v1.9.3