From edf132557e5eee4e8607ca83d987c5f6b830f025 Mon Sep 17 00:00:00 2001
From: WXL <wl_5969728@163.com>
Date: 星期五, 17 十月 2025 16:43:10 +0800
Subject: [PATCH] 档案相关发布

---
 src/views/project/donationdetails/index.vue |  133 +++++++++++++++++++++++++++++++++++++------
 1 files changed, 113 insertions(+), 20 deletions(-)

diff --git a/src/views/project/donationdetails/index.vue b/src/views/project/donationdetails/index.vue
index 2d69c3d..84bc3be 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 || []"
@@ -637,7 +640,7 @@
           </el-row>
           <el-row>
             <el-col :span="24">
-              <el-form-item align="left" label="鏈汉鎰忔効 ">
+              <el-form-item align="left" label="鏈汉鎰忔効 " prop="selfwill">
                 <el-checkbox-group v-model="form.selfwill">
                   <el-checkbox
                     v-for="dict in dict.type.sys_SelfWill || []"
@@ -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>
@@ -1698,7 +1707,7 @@
                   clearable
                   v-model="witnessform.coordinatorSignTime"
                   type="datetime"
-                  value-format="yyyy-MM-dd"
+                  value-format="yyyy-MM-dd HH:mm:ss"
                   placeholder="閫夋嫨鎵嬫湳缁撴潫鏃堕棿"
                 >
                 </el-date-picker>
@@ -1869,6 +1878,9 @@
                   border
                   :key="tableKey"
                   :data="procureddata"
+                  lazy
+                  :load="loadRowData"
+                  :row-key="row => row.organno"
                 >
                   <el-table-column
                     label="鍣ㄥ畼鍚嶇О"
@@ -1904,7 +1916,7 @@
                     </template>
                   </el-table-column> -->
                   <el-table-column
-                    label="鑾峰彇寮�濮嬫椂闂�"
+                    label="鍣ㄥ畼绂讳綋鏃堕棿"
                     align="center"
                     width="200"
                     prop="organgettime"
@@ -1915,6 +1927,25 @@
                         size="small"
                         style="width: 100%"
                         v-model="scope.row.organgettime"
+                        type="datetime"
+                        value-format="yyyy-MM-dd HH:mm:ss"
+                        placeholder="璇疯緭鍏ュ櫒瀹樼浣撴椂闂�"
+                      >
+                      </el-date-picker>
+                    </template>
+                  </el-table-column>
+                  <el-table-column
+                    label="鑾峰彇寮�濮嬫椂闂�"
+                    align="center"
+                    width="200"
+                    prop="organStartTime"
+                  >
+                    <template slot-scope="scope">
+                      <el-date-picker
+                        clearable
+                        size="small"
+                        style="width: 100%"
+                        v-model="scope.row.organStartTime"
                         type="datetime"
                         value-format="yyyy-MM-dd HH:mm:ss"
                         placeholder="璇疯緭鍏ヨ幏鍙栧紑濮嬫椂闂�"
@@ -2734,6 +2765,7 @@
         kinship: []
       },
       organdecision: [],
+      organdecisionOther: "", // 鍏朵粬閫夐」鐨勫叿浣撴弿杩�
       kinship: [],
       ethicform: {
         infoid: null
@@ -2741,7 +2773,8 @@
       kinshiplist: ["閰嶅伓", "鐖朵翰", "姣嶄翰", "瀛愬コ", "鍙楁墭浜�"],
       organselection: [
         "鑲濊剰",
-        "鍙岃偩鑴�",
+        "宸﹁偩",
+        "鍙宠偩",
         "蹇冭剰",
         "鑲鸿剰",
         "鑳拌吅",
@@ -2845,6 +2878,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 +2902,36 @@
         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" }
+        ],
+        selfwill: [
+          { required: true, message: "璇烽�夋嫨鏈汉鎰忔効", trigger: "blur" }
+        ],
+        registerAddresss: [
+          { required: true, message: "璇疯緭鍏ョ幇鎵�鍦ㄥ湴", trigger: "blur" }
+        ],
+        familyrelations: [
+          { required: true, message: "璇烽�夋嫨浜插睘涓庢崘鐚�呭叧绯�", trigger: "blur" }
+        ],
+        infosources: [
+          { required: true, message: "璇烽�夋嫨淇℃伅鏉ユ簮", trigger: "blur" }
+        ],
         idcardno: [
           { required: true, message: "璇锋纭緭鍏ヨ瘉浠跺彿鐮�", trigger: "blur" }
         ],
@@ -3004,8 +3081,8 @@
           return;
         }
         this.customOrganSort();
-      },
-      deep: true // 娣卞害鐩戝惉锛屽洜涓烘暟缁勫唴瀹瑰彲鑳藉彉鍖�
+      }
+      // deep: true // 娣卞害鐩戝惉锛屽洜涓烘暟缁勫唴瀹瑰彲鑳藉彉鍖�
     },
     allocateddata: {
       handler(newVal) {
@@ -3013,12 +3090,17 @@
           return;
         }
         this.allocateddataSort();
-      },
-      deep: true // 娣卞害鐩戝惉锛屽洜涓烘暟缁勫唴瀹瑰彲鑳藉彉鍖�
+      }
+      // deep: true // 娣卞害鐩戝惉锛屽洜涓烘暟缁勫唴瀹瑰彲鑳藉彉鍖�
     }
   },
 
   methods: {
+    loadRowData(row, treeNode, resolve) {
+      // 鍙湁褰撹灞曞紑鎴栭渶瑕佹椂鎵嶅畬鏁存覆鏌撳唴閮ㄧ粍浠�
+      this.$set(row, "loaded", true);
+      resolve();
+    },
     // 鑾峰彇涓昏〃鍙婇檮灞炴暟鎹�
     Getbasicinformation() {
       // 宸︿晶娴佺▼鏁版嵁
@@ -3106,7 +3188,9 @@
           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 +3369,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 +3457,8 @@
               }
             });
           }
+        } else {
+          this.$modal.msgError("鍓嶉儴娼滃湪鎹愮尞琛ㄥ崟淇℃伅鏈夌己婕忚鎺掓煡鍚庨噸鏂颁繚瀛�");
         }
       });
     },
@@ -3399,6 +3487,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 +3705,7 @@
 
       // 1. 鍔犻攣锛岄樆姝㈢洃鍚櫒鎵ц
       this.isSorting = true;
+      this.loading = true;
       // 鑷畾涔夋帓搴忓嚱鏁�
       this.procureddata.sort((a, b) => {
         const indexA = this.organOrder.indexOf(a.organname);
@@ -3640,9 +3732,10 @@
       this.procureddata = [...this.procureddata];
       this.$nextTick(() => {
         this.isSorting = false;
+        this.loading = false;
       });
     },
-     allocateddataSort() {
+    allocateddataSort() {
       console.log("璋冪敤");
 
       // 1. 鍔犻攣锛岄樆姝㈢洃鍚櫒鎵ц

--
Gitblit v1.9.3