From c96768b88d575454ee06d7f4720cfbd52e7c19e0 Mon Sep 17 00:00:00 2001
From: WXL <wl_5969728@163.com>
Date: 星期六, 11 十月 2025 13:37:44 +0800
Subject: [PATCH] 捐献案例维护

---
 src/views/project/donationdetails/index.vue |  590 ++++++++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 465 insertions(+), 125 deletions(-)

diff --git a/src/views/project/donationdetails/index.vue b/src/views/project/donationdetails/index.vue
index 6d1dd35..38ef758 100644
--- a/src/views/project/donationdetails/index.vue
+++ b/src/views/project/donationdetails/index.vue
@@ -230,7 +230,7 @@
                     placeholder="璇烽�夋嫨璇佷欢绫诲瀷"
                   >
                     <el-option
-                      v-for="dict in dict.type.sys_IDType"
+                      v-for="dict in dict.type.sys_IDType || []"
                       :key="dict.value"
                       :label="dict.label"
                       :value="parseInt(dict.value)"
@@ -268,7 +268,7 @@
                 <el-form-item label="鎬у埆" prop="sex">
                   <el-select v-model="form.sex" placeholder="璇疯緭鍏ユ�у埆">
                     <el-option
-                      v-for="dict in dict.type.sys_user_sex"
+                      v-for="dict in dict.type.sys_user_sex || []"
                       :key="dict.label"
                       :label="dict.label"
                       :value="parseInt(dict.value)"
@@ -278,7 +278,11 @@
               </el-col>
               <el-col :span="6">
                 <el-form-item label="骞撮緞" prop="age">
-                  <el-input v-model="form.age" placeholder="璇疯緭鍏ュ勾榫�" />
+                  <el-input
+                    disabled
+                    v-model="form.andAge"
+                    placeholder="璇疯緭鍏ュ勾榫�"
+                  />
                 </el-form-item>
               </el-col>
               <el-col :span="6">
@@ -377,11 +381,11 @@
             </el-col>
           </el-row>
           <el-row>
-            <el-col :span="6">
+            <!-- <el-col :span="6">
               <el-form-item label="姘戞棌" prop="nation">
                 <el-select v-model="form.nation" placeholder="璇烽�夋嫨姘戞棌">
                   <el-option
-                    v-for="dict in dict.type.sys_nation"
+                    v-for="dict in dict.type.sys_nation || []"
                     :key="dict.value"
                     :label="dict.label"
                     :value="dict.value"
@@ -393,19 +397,19 @@
               <el-form-item label="绫嶈疮" prop="nativeplace">
                 <el-input v-model="form.nativeplace" placeholder="璇疯緭鍏ュ浗绫�" />
               </el-form-item>
-            </el-col>
+            </el-col> -->
             <el-col :span="6">
               <el-form-item label="鍥界睄" prop="nationality">
                 <el-input v-model="form.nationality" placeholder="璇疯緭鍏ュ浗绫�" />
               </el-form-item>
             </el-col>
           </el-row>
-          <el-row>
+          <!-- <el-row>
             <el-col :span="6">
               <el-form-item label="鑱屼笟" prop="occupation">
                 <el-select v-model="form.occupation" placeholder="璇烽�夋嫨鑱屼笟">
                   <el-option
-                    v-for="dict in dict.type.sys_occupation"
+                    v-for="dict in dict.type.sys_occupation || []"
                     :key="dict.value"
                     :label="dict.label"
                     :value="dict.value"
@@ -417,7 +421,7 @@
               <el-form-item label="瀛﹀巻" prop="education">
                 <el-select v-model="form.education" placeholder="璇烽�夋嫨瀛﹀巻">
                   <el-option
-                    v-for="dict in dict.type.sys_education"
+                    v-for="dict in dict.type.sys_education || []"
                     :key="dict.value"
                     :label="dict.label"
                     :value="dict.value"
@@ -425,10 +429,51 @@
                 </el-select>
               </el-form-item>
             </el-col>
+          </el-row> -->
+          <el-row>
+            <el-col :span="6">
+              <el-form-item
+                label="鎵�鍦ㄥ尰鐤楁満鏋�"
+                prop="currentMedicalInstitution"
+              >
+                <el-input
+                  v-model="form.currentMedicalInstitution"
+                  placeholder="璇疯緭鍏�"
+                />
+              </el-form-item>
+            </el-col>
+            <el-col :span="10">
+              <el-form-item
+                label-width="130px"
+                label="鎵�鍦ㄥ尰鐤楁満鏋勭瀹�"
+                prop="currentDept"
+              >
+                <el-input v-model="form.currentDept" placeholder="璇疯緭鍏�" />
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row>
+            <el-col :span="6">
+              <el-form-item label="棣栨鍖荤枟鏈烘瀯" prop="firstMedicalInstitution">
+                <el-input
+                  v-model="form.firstMedicalInstitution"
+                  placeholder="璇疯緭鍏�"
+                />
+              </el-form-item>
+            </el-col>
+            <el-col :span="10">
+              <el-form-item
+                label-width="130px"
+                label="棣栨鍖荤枟鏈烘瀯绉戝"
+                prop="firstDept"
+              >
+                <el-input v-model="form.firstDept" placeholder="璇疯緭鍏�" />
+              </el-form-item>
+            </el-col>
           </el-row>
           <el-row>
             <el-col :span="12">
-              <el-form-item label="浣忓潃" prop="residenceaddress">
+              <el-form-item label="浣忓潃(涓庤韩浠借瘉涓�鑷�)" prop="residenceaddress">
                 <div>
                   <li_area_select
                     ref="residenceSelect"
@@ -470,7 +515,7 @@
               <el-form-item align="left" label="琛�鍨�" prop="bloodtype">
                 <el-radio-group v-model="form.bloodtype">
                   <el-radio
-                    v-for="dict in dict.type.sys_BloodType"
+                    v-for="dict in dict.type.sys_BloodType || []"
                     :key="dict.value"
                     :label="dict.value"
                     >{{ dict.label }}</el-radio
@@ -482,7 +527,7 @@
               <el-form-item label="Rh(D)" align="left" prop="rhyin">
                 <el-radio-group v-model="form.rhyin">
                   <el-radio
-                    v-for="dict in dict.type.sys_bloodtype_rhd"
+                    v-for="dict in dict.type.sys_bloodtype_rhd || []"
                     :key="dict.value"
                     :label="dict.value"
                     >{{ dict.label }}</el-radio
@@ -492,10 +537,10 @@
             </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"
+                  v-for="dict in dict.type.sys_DiseaseType || []"
                   :key="dict.value"
                   :label="dict.value"
                 >
@@ -512,10 +557,10 @@
           </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"
+                    v-for="dict in dict.type.sys_Infectious || []"
                     :key="dict.value"
                     :label="dict.value"
                   >
@@ -535,10 +580,10 @@
           </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"
+                    v-for="dict in dict.type.sys_patientstate || []"
                     :key="dict.value"
                     :label="dict.value"
                   >
@@ -548,10 +593,10 @@
               </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"
+                    v-for="dict in dict.type.sys_OtherCases || []"
                     :key="dict.value"
                     :label="dict.value"
                   >
@@ -573,7 +618,7 @@
                   >
                     <el-checkbox-group v-model="form.kinship">
                       <el-checkbox
-                        v-for="dict in dict.type.sys_kinship"
+                        v-for="dict in dict.type.sys_kinship || []"
                         :key="dict.value"
                         :label="dict.value"
                       >
@@ -598,7 +643,7 @@
               <el-form-item align="left" label="鏈汉鎰忔効 ">
                 <el-checkbox-group v-model="form.selfwill">
                   <el-checkbox
-                    v-for="dict in dict.type.sys_SelfWill"
+                    v-for="dict in dict.type.sys_SelfWill || []"
                     :key="dict.value"
                     :label="dict.value"
                   >
@@ -624,7 +669,7 @@
                   placeholder="璇烽�夋嫨涓庢崘璧犺�呭叧绯�"
                 >
                   <el-option
-                    v-for="dict in dict.type.sys_FamilyRelation"
+                    v-for="dict in dict.type.sys_FamilyRelation || []"
                     :key="dict.value"
                     :label="dict.label"
                     :value="dict.value"
@@ -635,10 +680,10 @@
           </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"
+                    v-for="dict in dict.type.sys_InfoSources || []"
                     :key="dict.value"
                     :label="dict.value"
                   >
@@ -671,7 +716,7 @@
                 />
               </el-form-item>
             </el-col>
-            <el-col :span="8">
+            <!-- <el-col :span="8">
               <el-form-item label="淇℃伅鍛�" prop="infoname">
                 <el-input v-model="form.infoname" placeholder="璇疯緭鍏ヤ俊鎭憳" />
               </el-form-item>
@@ -683,9 +728,9 @@
                   placeholder="璇疯緭鍏ヤ俊鎭憳鑱旂郴鐢佃瘽"
                 />
               </el-form-item>
-            </el-col>
+            </el-col> -->
           </el-row>
-          <el-row>
+          <!-- <el-row>
             <el-col :span="8">
               <el-form-item align="left" label="绾㈠崄瀛椾細" prop="redorganno">
                 <org-selecter
@@ -717,7 +762,7 @@
                 </el-date-picker>
               </el-form-item>
             </el-col>
-          </el-row>
+          </el-row> -->
         </el-form>
         <div class="dialog-footer">
           <el-button
@@ -810,7 +855,7 @@
                   placeholder="璇烽�夋嫨闄㈢骇璇勪及缁撹"
                 >
                   <el-option
-                    v-for="dict in dict.type.sys_BaseAssessConclusion"
+                    v-for="dict in dict.type.sys_BaseAssessConclusion || []"
                     :key="dict.value"
                     :label="dict.label"
                     :value="dict.value"
@@ -862,7 +907,7 @@
                   placeholder="璇烽�夋嫨鐪佺骇璇勪及缁撹"
                 >
                   <el-option
-                    v-for="dict in dict.type.sys_BaseAssessConclusion"
+                    v-for="dict in dict.type.sys_BaseAssessConclusion || []"
                     :key="dict.value"
                     :label="dict.label"
                     :value="dict.value"
@@ -918,7 +963,7 @@
                   placeholder="璇烽�夋嫨鏍稿績鎴愬憳缁撹"
                 >
                   <el-option
-                    v-for="dict in dict.type.sys_CoreAssessConclusion"
+                    v-for="dict in dict.type.sys_CoreAssessConclusion || []"
                     :key="dict.value"
                     :label="dict.label"
                     :value="dict.value"
@@ -976,6 +1021,50 @@
         >
           <el-row>
             <el-col :span="6">
+              <el-form-item label="鎹愯禒鑰呮皯鏃�" prop="nation">
+                <el-select v-model="affirmform.nation" placeholder="璇烽�夋嫨姘戞棌">
+                  <el-option
+                    v-for="dict in dict.type.sys_nation || []"
+                    :key="dict.value"
+                    :label="dict.label"
+                    :value="dict.value"
+                  ></el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :span="6">
+              <el-form-item label="鎹愯禒鑰呭鍘�" prop="education">
+                <el-select
+                  v-model="affirmform.education"
+                  placeholder="璇烽�夋嫨瀛﹀巻"
+                >
+                  <el-option
+                    v-for="dict in dict.type.sys_education || []"
+                    :key="dict.value"
+                    :label="dict.label"
+                    :value="dict.value"
+                  ></el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :span="6">
+              <el-form-item label="鎹愯禒鑰呰亴涓�" prop="occupation">
+                <el-select
+                  v-model="affirmform.occupation"
+                  placeholder="璇烽�夋嫨鑱屼笟"
+                >
+                  <el-option
+                    v-for="dict in dict.type.sys_occupation || []"
+                    :key="dict.value"
+                    :label="dict.label"
+                    :value="dict.value"
+                  ></el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row>
+            <el-col :span="6">
               <el-form-item label="浜插睘濮撳悕" prop="name">
                 <el-input v-model="affirmform.name" placeholder="璇疯緭鍏ュ鍚�" />
               </el-form-item>
@@ -991,7 +1080,7 @@
                   placeholder="璇烽�夋嫨涓庢崘璧犺�呭叧绯�"
                 >
                   <el-option
-                    v-for="dict in dict.type.sys_FamilyRelation"
+                    v-for="dict in dict.type.sys_FamilyRelation || []"
                     :key="dict.value"
                     :label="dict.label"
                     :value="dict.value"
@@ -1000,7 +1089,7 @@
               </el-form-item>
             </el-col>
             <el-col :span="6">
-              <el-form-item label="韬唤璇佸彿" prop="idcardno">
+              <el-form-item label="浜插睘韬唤璇�" prop="idcardno">
                 <el-input
                   ref="updateBSvalue"
                   class="sfzcode"
@@ -1010,7 +1099,7 @@
               </el-form-item>
             </el-col>
             <el-col :span="6">
-              <el-form-item label="鑱旂郴鐢佃瘽" prop="phone">
+              <el-form-item label="浜插睘鐢佃瘽" prop="phone">
                 <el-input
                   v-model="affirmform.phone"
                   placeholder="璇疯緭鍏ヨ仈绯荤數璇�"
@@ -1018,18 +1107,18 @@
               </el-form-item>
             </el-col>
           </el-row>
+
           <el-row>
-            <el-col :span="12">
+            <!-- <el-col :span="12">
               <el-form-item label="浜插睘绫嶈疮" prop="residenceaddresss">
                 <div>
                   <li_area_select
                     v-model="defultAddresss"
                     ref="residenceaddresss"
                   ></li_area_select>
-                  <!-- <div>{{defultAddress}}</div> -->
                 </div>
               </el-form-item>
-            </el-col>
+            </el-col> -->
             <el-col :span="12">
               <el-form-item label="鐜颁綇鍦板潃" prop="residenceaddress">
                 <el-input
@@ -1041,17 +1130,17 @@
           </el-row>
           <el-row>
             <el-col :span="12">
-              <el-form-item label="绛惧瓧浜插睘" prop="kinshipconfirmationsign">
+              <el-form-item label="浜插睘鍏崇郴" prop="kinshipconfirmationsign">
                 <el-checkbox-group v-model="kinship">
                   <el-checkbox
-                    v-for="item in dict.type.sys_kinshipConfirm"
-                    :label="item.value"
-                    :value="item.value"
+                    v-for="dict in dict.type.sys_kinshipConfirm || []"
+                    :label="dict.value"
+                    :value="dict.value"
                   >
                     {{
-                      item.label == "鎴愬勾瀛愬コ"
-                        ? item.label + "(浜�)"
-                        : item.label
+                      dict.label == "鎴愬勾瀛愬コ"
+                        ? dict.label + "(浜�)"
+                        : dict.label
                     }}
                   </el-checkbox>
                 </el-checkbox-group>
@@ -1084,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>
@@ -1173,7 +1268,7 @@
                   size="small"
                   v-model="affirmform.signdate"
                   type="date"
-                  value-format="yyyy-MM-dd hh:mm:ss"
+                  value-format="yyyy-MM-dd"
                   placeholder="閫夋嫨绛惧瓧鏃ユ湡"
                 >
                 </el-date-picker>
@@ -1217,7 +1312,7 @@
               <el-form-item label="瀹℃煡缁撹">
                 <el-radio-group v-model="ethicform.expertconclusion">
                   <el-radio
-                    v-for="dict in dict.type.sys_EthicalReview"
+                    v-for="dict in dict.type.sys_EthicalReview || []"
                     :key="dict.value"
                     :label="parseInt(dict.value)"
                     >{{ dict.label }}</el-radio
@@ -1288,7 +1383,7 @@
               <el-form-item label-width="100px" label="鍒嗛厤鍣ㄥ畼">
                 <el-checkbox-group v-model="organList.organallocated">
                   <el-checkbox
-                    v-for="dict in dict.type.sys_Organ"
+                    v-for="dict in dict.type.sys_Organ || []"
                     :key="dict.value"
                     :label="dict.value"
                     @change="changeorganState(dict.value)"
@@ -1317,12 +1412,12 @@
                       />
                     </template>
                   </el-table-column>
-                  <el-table-column
+                  <!-- <el-table-column
                     label="鍣ㄥ畼缂栧彿"
                     align="center"
                     width="90"
                     prop="organno"
-                  />
+                  /> -->
                   <el-table-column
                     label="鍒嗛厤绯荤粺缂栧彿"
                     align="center"
@@ -1371,7 +1466,7 @@
                   <el-table-column
                     label="绉绘鍖婚櫌"
                     align="center"
-                    width="230"
+                    width="280"
                     prop="transplanthospitalno"
                   >
                     <template slot-scope="scope">
@@ -1462,7 +1557,7 @@
               >
                 <el-radio-group v-model="witnessform.donationcategory">
                   <el-radio
-                    v-for="dict in dict.type.sys_DonationCategory"
+                    v-for="dict in dict.type.sys_DonationCategory || []"
                     :key="dict.value"
                     :label="dict.value"
                     >{{ dict.label }}</el-radio
@@ -1560,6 +1655,59 @@
                   v-model="witnessform.operationendtime"
                   type="datetime"
                   value-format="yyyy-MM-dd HH:mm:ss"
+                  placeholder="閫夋嫨鎵嬫湳缁撴潫鏃堕棿"
+                >
+                </el-date-picker>
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row>
+            <el-col :span="6">
+              <el-form-item
+                align="left"
+                label="鍗忚皟鍛橈細杩涙墜鏈鏃堕棿"
+                label-width="160px"
+                prop="coordinatorInOperating"
+              >
+                <el-date-picker
+                  clearable
+                  v-model="witnessform.coordinatorInOperating"
+                  type="datetime"
+                  value-format="yyyy-MM-dd HH:mm:ss"
+                  placeholder="閫夋嫨鎵嬫湳寮�濮嬫椂闂�"
+                >
+                </el-date-picker>
+              </el-form-item>
+            </el-col>
+            <el-col :span="6">
+              <el-form-item
+                align="left"
+                label="鍑烘墜鏈鏃堕棿"
+                label-width="120px"
+                prop="coordinatorOutOperating"
+              >
+                <el-date-picker
+                  clearable
+                  v-model="witnessform.coordinatorOutOperating"
+                  type="datetime"
+                  value-format="yyyy-MM-dd HH:mm:ss"
+                  placeholder="閫夋嫨鎵嬫湳缁撴潫鏃堕棿"
+                >
+                </el-date-picker>
+              </el-form-item>
+            </el-col>
+            <el-col :span="6">
+              <el-form-item
+                align="left"
+                label="绛惧瓧鏃ユ湡"
+                label-width="120px"
+                prop="coordinatorSignTime"
+              >
+                <el-date-picker
+                  clearable
+                  v-model="witnessform.coordinatorSignTime"
+                  type="datetime"
+                  value-format="yyyy-MM-dd"
                   placeholder="閫夋嫨鎵嬫湳缁撴潫鏃堕棿"
                 >
                 </el-date-picker>
@@ -1673,7 +1821,7 @@
             </el-col>
             <el-col :span="6">
               <el-form-item
-                label="涓诲姩鑴夛細鐏屾敞鏃堕棿"
+                label="涓诲姩鑴夛細鎻掔鏃堕棿"
                 align="left"
                 label-width="140px"
                 prop="aortacannulatime"
@@ -1683,7 +1831,7 @@
                   v-model="witnessform.aortacannulatime"
                   type="datetime"
                   value-format="yyyy-MM-dd  HH:mm:ss"
-                  placeholder="閫夋嫨涓诲姩鑴夌亴娉ㄦ椂闂�"
+                  placeholder="閫夋嫨涓诲姩鑴夋彃绠℃椂闂�"
                 >
                 </el-date-picker>
               </el-form-item>
@@ -1725,7 +1873,12 @@
           <el-row>
             <el-col>
               <el-form-item>
-                <el-table v-loading="loading" border :data="procureddata">
+                <el-table
+                  v-loading="loading"
+                  border
+                  :key="tableKey"
+                  :data="procureddata"
+                >
                   <el-table-column
                     label="鍣ㄥ畼鍚嶇О"
                     align="center"
@@ -1740,12 +1893,12 @@
                       />
                     </template>
                   </el-table-column>
-                  <el-table-column
+                  <!-- <el-table-column
                     label="鍣ㄥ畼缂栧彿"
                     align="center"
                     width="90"
                     prop="organno"
-                  />
+                  /> -->
                   <!-- <el-table-column
                     label="绯荤粺缂栧彿"
                     align="center"
@@ -1760,7 +1913,7 @@
                     </template>
                   </el-table-column> -->
                   <el-table-column
-                    label="鍣ㄥ畼绂讳綋鏃堕棿"
+                    label="鑾峰彇寮�濮嬫椂闂�"
                     align="center"
                     width="200"
                     prop="organgettime"
@@ -1773,7 +1926,7 @@
                         v-model="scope.row.organgettime"
                         type="datetime"
                         value-format="yyyy-MM-dd HH:mm:ss"
-                        placeholder="璇疯緭鍏ュ櫒瀹樼浣撴椂闂�"
+                        placeholder="璇疯緭鍏ヨ幏鍙栧紑濮嬫椂闂�"
                       >
                       </el-date-picker>
                     </template>
@@ -1781,7 +1934,7 @@
                   <el-table-column
                     label="鑾峰彇鍖婚櫌"
                     align="center"
-                    width="230"
+                    width="280"
                     prop="gainhospitalno"
                   >
                     <template slot-scope="scope">
@@ -1864,7 +2017,7 @@
               <el-form-item align="left" label="榛樺搥缂呮��浠紡">
                 <el-radio-group v-model="witnessform.isspendremember">
                   <el-radio
-                    v-for="dict in dict.type.sys_0_1"
+                    v-for="dict in dict.type.sys_0_1 || []"
                     :key="dict.value"
                     :label="parseInt(dict.value)"
                     >{{ dict.label }}</el-radio
@@ -1876,7 +2029,7 @@
               <el-form-item align="left" label="鎭㈠閬椾綋浠">
                 <el-radio-group v-model="witnessform.isrestoreremains">
                   <el-radio
-                    v-for="dict in dict.type.sys_0_1"
+                    v-for="dict in dict.type.sys_0_1 || []"
                     :key="dict.value"
                     :label="parseInt(dict.value)"
                     >{{ dict.label }}</el-radio
@@ -1971,7 +2124,7 @@
               <el-form-item label-width="100px" label="绉绘鍣ㄥ畼">
                 <el-checkbox-group v-model="organList.organtransplant">
                   <el-checkbox
-                    v-for="dict in dict.type.sys_Organ"
+                    v-for="dict in dict.type.sys_Organ || []"
                     :key="dict.value"
                     :label="dict.value"
                     @change="changeorgantransplant(dict.value)"
@@ -2000,12 +2153,12 @@
                       />
                     </template>
                   </el-table-column>
-                  <el-table-column
+                  <!-- <el-table-column
                     label="鍣ㄥ畼缂栧彿"
                     align="center"
                     width="90"
                     prop="organno"
-                  />
+                  /> -->
                   <el-table-column
                     label="绯荤粺缂栧彿"
                     align="center"
@@ -2022,9 +2175,8 @@
                   <el-table-column
                     label="绉绘鍖婚櫌"
                     align="center"
-                    width="220"
+                    width="280"
                     prop="hospitalno"
-
                   >
                     <template slot-scope="scope">
                       <org-selecter
@@ -2124,7 +2276,7 @@
               <el-form-item align="left" label="閬椾綋鎹愮尞" prop="isbodydonation">
                 <el-radio-group v-model="accomplishform.isbodydonation">
                   <el-radio
-                    v-for="dict in dict.type.sys_0_1"
+                    v-for="dict in dict.type.sys_0_1 || []"
                     :key="dict.value"
                     :label="dict.value"
                     >{{ dict.label }}</el-radio
@@ -2271,7 +2423,7 @@
             @tab-click="selecttab"
           >
             <el-tab-pane
-              v-for="dict in dict.type.materials_DBD"
+              v-for="dict in dict.type.materials_DBD || []"
               :label="dict.label"
               :name="dict.value"
             ></el-tab-pane>
@@ -2483,12 +2635,94 @@
     AnnexUpload,
     ReportName
   },
-
+  dicts: [
+    "sys_nation",
+    "sys_occupation",
+    "sys_education",
+    "sys_Organ",
+    "sys_user_sex",
+    "sys_IDType",
+    "sys_BloodType",
+    "sys_0_1",
+    "sys_patientstate",
+    "sys_DonationCategory",
+    "sys_kinship",
+    "sys_Infectious",
+    "sys_bloodtype_rhd",
+    "sys_InfoSources",
+    "sys_OtherCases",
+    "sys_DiseaseType",
+    "sys_SelfWill",
+    "sys_FamilyRelation",
+    "sys_OrganDecision",
+    "sys_CoreAssessConclusion",
+    "sys_BaseAssessConclusion",
+    "sys_EthicalReview",
+    "materials_DBD",
+    "sys_kinshipConfirm"
+  ],
   data() {
     return {
       infoid: 736,
       drawer: false,
-      form: {},
+      form: {
+        donorno: "",
+        reporterno: "",
+        reporterphone: "",
+        name: "",
+        idcardtype: "",
+        idcardno: "",
+        birthday: "",
+        sex: "",
+        age: "",
+        treatmenthospitalno: "",
+        treatmentdeptname: "",
+        inpatientno: "",
+        diagnosisname: "",
+        nation: "",
+        nativeplace: "",
+        nationality: "",
+        occupation: "",
+        education: "",
+        residenceaddress: "",
+        registeraddress: "",
+        bloodtype: "",
+        rhyin: "",
+        diseasetype: [],
+        diseasetypeOther: "",
+        infectious: [],
+        infectiousOther: "",
+        patientstate: [],
+        othercases: [],
+        kinship: [],
+        kinshipOther: "",
+        selfwill: [],
+        majorrelatives: "",
+        familyrelations: "",
+        infosources: [],
+        infosourcesOther: "",
+        acquisitiontissueno: "",
+        infoname: "",
+        infophone: "",
+        redorganno: "",
+        contactperson: "",
+        contacttime: "",
+        reporttime: ""
+      },
+      organOrder: [
+        "鑲濊剰",
+        "宸﹁偩",
+        "鍙宠偩",
+        "蹇冭剰",
+        "宸﹁偤",
+        "鍙宠偤",
+        "鑳拌吅",
+        "灏忚偁",
+        "宸︾溂瑙掕啘",
+        "鍙崇溂瑙掕啘"
+      ], // 鎸囧畾鐨勫櫒瀹橀『搴�
+      isSorting: false, // 鏍囧織浣嶏紝琛ㄧず鏄惁姝e湪鎺掑簭
+      tableKey: 0,
       istb: false,
       activeName: "",
       tableDatafile: [
@@ -2509,15 +2743,16 @@
         kinship: []
       },
       organdecision: [],
+      organdecisionOther: "", // 鍏朵粬閫夐」鐨勫叿浣撴弿杩�
       kinship: [],
       ethicform: {
         infoid: null
       },
-
       kinshiplist: ["閰嶅伓", "鐖朵翰", "姣嶄翰", "瀛愬コ", "鍙楁墭浜�"],
       organselection: [
         "鑲濊剰",
-        "鍙岃偩鑴�",
+        "宸﹁偩",
+        "鍙宠偩",
         "蹇冭剰",
         "鑲鸿剰",
         "鑳拌吅",
@@ -2621,6 +2856,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" }
         ],
@@ -2630,12 +2880,29 @@
         residenceaddress: [
           { required: true, message: "璇疯緭鍏ヤ綇鍧�", trigger: "blur" }
         ],
-        contacttime: [
-          {
-            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" }
@@ -2665,16 +2932,6 @@
         infophone: [
           { required: true, message: "璇疯緭鍏ヤ俊鎭憳鑱旂郴鐢佃瘽", trigger: "blur" }
         ],
-        redorganno: [
-          { required: true, message: "璇烽�夋嫨绾㈠崄瀛椾細鏈烘瀯", trigger: "blur" }
-        ],
-        contactperson: [
-          {
-            required: true,
-            message: "绾㈠崄瀛椾細鑱旂郴浜轰笉鑳戒负绌�",
-            trigger: "blur"
-          }
-        ],
         acquisitiontissueno: [
           { required: true, message: "鍣ㄥ畼鑾峰彇缁勭粐涓嶈兘涓虹┖", trigger: "blur" }
         ],
@@ -2695,6 +2952,15 @@
           { required: true, message: "浜插睘濮撳悕涓嶈兘涓虹┖", trigger: "blur" }
         ],
         phone: [
+          { required: true, message: "瀹跺睘鑱旂郴鐢佃瘽涓嶄负绌�", trigger: "blur" }
+        ],
+        nation: [
+          { required: true, message: "浜插睘濮撳悕涓嶈兘涓虹┖", trigger: "blur" }
+        ],
+        education: [
+          { required: true, message: "瀹跺睘鑱旂郴鐢佃瘽涓嶄负绌�", trigger: "blur" }
+        ],
+        occupation: [
           { required: true, message: "瀹跺睘鑱旂郴鐢佃瘽涓嶄负绌�", trigger: "blur" }
         ],
         signfamilyrelations: [
@@ -2755,6 +3021,7 @@
   },
 
   created() {
+    console.log("鍔犺浇鐨勫瓧鍏告暟鎹�:", this.dict.type);
     this.Getnetworkheader();
     this.getdataList();
     this.infoid = this.$route.query.id;
@@ -2762,6 +3029,7 @@
   mounted() {
     // this.id = this.$route.query.id;
     this.Getbasicinformation();
+
     this.listDonateannex();
     //鑾峰彇鎶ュ憡浜哄垪琛細涓撹亴浜哄憳
     listReportname("zzry").then(res => {
@@ -2775,6 +3043,28 @@
     listReportname("fzr").then(res => {
       this.leaderlist = res.data;
     });
+    // this.customOrganSort();
+  },
+  watch: {
+    // 鐩戝惉 procureddata 鐨勫彉鍖栵紝鏁版嵁鏇存柊鍚庨噸鏂版帓搴�
+    procureddata: {
+      handler(newVal) {
+        if (this.isSorting) {
+          return;
+        }
+        this.customOrganSort();
+      },
+      deep: true // 娣卞害鐩戝惉锛屽洜涓烘暟缁勫唴瀹瑰彲鑳藉彉鍖�
+    },
+    allocateddata: {
+      handler(newVal) {
+        if (this.isSorting) {
+          return;
+        }
+        this.allocateddataSort();
+      },
+      deep: true // 娣卞害鐩戝惉锛屽洜涓烘暟缁勫唴瀹瑰彲鑳藉彉鍖�
+    }
   },
 
   methods: {
@@ -2796,22 +3086,29 @@
         }
       });
 
-
       // 琛ㄥ崟鏁版嵁
       getDonatebaseinfo(this.infoid).then(response => {
         this.form = response.data;
+        this.form.andAge = `${
+          this.form.age && this.form.age !== 0
+            ? `${this.form.age}${this.form.ageunit}`
+            : ""
+        } ${
+          this.form.age2 && this.form.age2 !== 0
+            ? `${this.form.age2}${this.form.ageunit2}`
+            : ""
+        }`.trim();
+
         if (response.data.terminationCase) {
           this.showTerminationBtn = response.data.terminationCase;
         } else {
           this.showTerminationBtn = 0;
         }
 
-
         this.actives = response.data.workflow;
         this.workflow = response.data.workflow;
         response.data.sex = parseInt(response.data.sex);
         this.form.id = response.data.id;
-
 
         this.form.diseasetype = this.form.diseasetype.split(",");
         this.form.infectious = this.form.infectious.split(",");
@@ -2820,7 +3117,6 @@
         this.form.infosources = this.form.infosources.split(",");
         this.form.kinship = this.form.kinship.split(",");
         this.form.patientstate = this.form.patientstate.split(",");
-
 
         this.open = true;
         this.title = "浜轰綋鍣ㄥ畼娼滃湪鎹愮尞鑰呯櫥璁拌〃";
@@ -2831,7 +3127,6 @@
         this.residenceAddresss.qu = response.data.residencetownname;
         this.registerAddresss.qu = response.data.registertownname;
 
-
         // 鑾峰彇浜岀骇琛�
         this.GetAttacheddata();
       });
@@ -2841,7 +3136,6 @@
       let searchParam = {
         infoid: this.infoid
       };
-      console.log(this.procureddata, "procureddata");
       if (this.actives == 1) {
         this.activetele = "鍖诲璇勪及";
 
@@ -2970,7 +3264,7 @@
         console.log("瀹屾垚鐧昏鍔犺浇鏁版嵁...");
 
         listDonatecomporgan(searchParam).then(res => {
-          if (res.code == 200) {            
+          if (res.code == 200) {
             console.log("listDonatecomporgan 鏁版嵁锛�", res.rows);
 
             if (res.rows[0]) {
@@ -3005,7 +3299,7 @@
 
         // 鑾峰彇瀹屾垚鐧昏淇℃伅
         listDonatecompletioninfo(searchParam).then(response => {
-          if (response.code == 200 && response.rows.length) {            
+          if (response.code == 200 && response.rows.length) {
             console.log("listDonatecompletioninfo 鏁版嵁锛�", response.rows[0]);
 
             this.accomplishform = response.rows[0];
@@ -3154,6 +3448,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) {
@@ -3362,6 +3659,73 @@
           }
         });
       }
+    },
+
+    customOrganSort() {
+      console.log("璋冪敤");
+
+      // 1. 鍔犻攣锛岄樆姝㈢洃鍚櫒鎵ц
+      this.isSorting = true;
+      // 鑷畾涔夋帓搴忓嚱鏁�
+      this.procureddata.sort((a, b) => {
+        const indexA = this.organOrder.indexOf(a.organname);
+        const indexB = this.organOrder.indexOf(b.organname);
+
+        // 濡傛灉涓や釜閮藉湪鍒楄〃涓紝鎸夊垪琛ㄤ腑鐨勯『搴忔帓搴�
+        if (indexA !== -1 && indexB !== -1) {
+          return indexA - indexB;
+        }
+        // 濡傛灉 a 鍦ㄥ垪琛ㄤ腑锛宐 涓嶅湪锛宎 鎺掑墠闈�
+        if (indexA !== -1) {
+          return -1;
+        }
+        // 濡傛灉 b 鍦ㄥ垪琛ㄤ腑锛宎 涓嶅湪锛宐 鎺掑墠闈�
+        if (indexB !== -1) {
+          return 1;
+        }
+        // 涓や釜閮戒笉鍦ㄥ垪琛ㄤ腑锛屼繚鎸佸師椤哄簭锛堟垨鎸夊叾浠栬鍒欙紝姣斿鎸夊瓧姣嶆帓搴忥紝杩欓噷鎸夊師濮嬮『搴忥級
+        return 0;
+      });
+      console.log(this.procureddata, "椤哄簭");
+      this.tableKey += 1; // 鏀瑰彉 key 杩娇琛ㄦ牸閲嶆柊娓叉煋
+      // 浣犲彲浠ヤ娇鐢� this.$forceUpdate() 鎴栬�呴噸鏂拌祴鍊兼暟缁勬潵瑙﹀彂鏇存柊
+      this.procureddata = [...this.procureddata];
+      this.$nextTick(() => {
+        this.isSorting = false;
+      });
+    },
+    allocateddataSort() {
+      console.log("璋冪敤");
+
+      // 1. 鍔犻攣锛岄樆姝㈢洃鍚櫒鎵ц
+      this.isSorting = true;
+      // 鑷畾涔夋帓搴忓嚱鏁�
+      this.allocateddata.sort((a, b) => {
+        const indexA = this.organOrder.indexOf(a.organname);
+        const indexB = this.organOrder.indexOf(b.organname);
+
+        // 濡傛灉涓や釜閮藉湪鍒楄〃涓紝鎸夊垪琛ㄤ腑鐨勯『搴忔帓搴�
+        if (indexA !== -1 && indexB !== -1) {
+          return indexA - indexB;
+        }
+        // 濡傛灉 a 鍦ㄥ垪琛ㄤ腑锛宐 涓嶅湪锛宎 鎺掑墠闈�
+        if (indexA !== -1) {
+          return -1;
+        }
+        // 濡傛灉 b 鍦ㄥ垪琛ㄤ腑锛宎 涓嶅湪锛宐 鎺掑墠闈�
+        if (indexB !== -1) {
+          return 1;
+        }
+        // 涓や釜閮戒笉鍦ㄥ垪琛ㄤ腑锛屼繚鎸佸師椤哄簭锛堟垨鎸夊叾浠栬鍒欙紝姣斿鎸夊瓧姣嶆帓搴忥紝杩欓噷鎸夊師濮嬮『搴忥級
+        return 0;
+      });
+      console.log(this.allocateddata, "椤哄簭");
+      this.tableKey += 1; // 鏀瑰彉 key 杩娇琛ㄦ牸閲嶆柊娓叉煋
+      // 浣犲彲浠ヤ娇鐢� this.$forceUpdate() 鎴栬�呴噸鏂拌祴鍊兼暟缁勬潵瑙﹀彂鏇存柊
+      this.allocateddata = [...this.allocateddata];
+      this.$nextTick(() => {
+        this.isSorting = false;
+      });
     },
     // 鍒囨崲tab
     on_click(e) {
@@ -3695,8 +4059,11 @@
     // 鑾峰彇闄勪欢鏁版嵁骞跺垎绫讳簩绾у垪
     listDonateannex() {
       let parmi = {};
+      console.log(222);
+
       parmi.infoid = this.infoid.toString();
       listDonateannex(parmi).then(res => {
+        console.log(333);
         this.donatelist = res.rows;
       });
     },
@@ -3927,34 +4294,7 @@
       row.caseno = null;
       row.applicanttime = null;
     }
-  },
-
-  dicts: [
-    "sys_nation",
-    "sys_occupation",
-    "sys_education",
-    "sys_Organ",
-    "sys_user_sex",
-    "sys_IDType",
-    "sys_BloodType",
-    "sys_0_1",
-    "sys_patientstate",
-    "sys_DonationCategory",
-    "sys_kinship",
-    "sys_Infectious",
-    "sys_bloodtype_rhd",
-    "sys_InfoSources",
-    "sys_OtherCases",
-    "sys_DiseaseType",
-    "sys_SelfWill",
-    "sys_FamilyRelation",
-    "sys_OrganDecision",
-    "sys_CoreAssessConclusion",
-    "sys_BaseAssessConclusion",
-    "sys_EthicalReview",
-    "materials_DBD",
-    "sys_kinshipConfirm"
-  ]
+  }
 };
 </script>
 

--
Gitblit v1.9.3