From ead85633109bcb3cc8d8b3c6804c280dd6ee1e5d Mon Sep 17 00:00:00 2001
From: WXL <wl_5969728@163.com>
Date: 星期二, 06 一月 2026 11:38:51 +0800
Subject: [PATCH] 省人民维护

---
 src/views/project/donationdetails/index.vue | 2026 ++++++++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 1,435 insertions(+), 591 deletions(-)

diff --git a/src/views/project/donationdetails/index.vue b/src/views/project/donationdetails/index.vue
index 5a28880..7c004c2 100644
--- a/src/views/project/donationdetails/index.vue
+++ b/src/views/project/donationdetails/index.vue
@@ -1,24 +1,34 @@
 <template>
   <div class="particularsdiv">
-    <div class="left-course">
+    <div class="left-course" :class="{ 'left-collapsed': isLeftCollapsed }">
       <div class="postfilx">
-        <div class="title">宸ヤ綔杩涚▼</div>
-        <div>
+        <div class="title">
+          宸ヤ綔杩涚▼
+          <el-button
+            class="collapse-btn"
+            @click="toggleLeftCollapse"
+            :icon="
+              isLeftCollapsed ? 'el-icon-arrow-right' : 'el-icon-arrow-left'
+            "
+            size="mini"
+          >
+          </el-button>
+        </div>
+        <div v-show="!isLeftCollapsed">
           <el-steps direction="vertical" :active="workflow">
             <el-step title="娼滃湪鎹愮尞" icon="el-icon-user">
-              <template
-                slot="description"
-                v-if="Processdata.donatebaseinfo.createtime"
-              >
+              <template slot="description" v-if="donatebaseinfo.createtime">
                 <p>
-                  鎻愪氦鏃堕棿锛�<span>{{
-                    parseTime(Processdata.donatebaseinfo.createtime)
-                  }}</span>
+                  鎻愪氦锛�<span
+                    >{{ donatebaseinfo.createperson }}
+                    {{ parseTime(donatebaseinfo.createtime) }}</span
+                  >
                 </p>
                 <p>
-                  鏇存柊鏃堕棿锛�<span>{{
-                    parseTime(Processdata.donatebaseinfo.updatetime)
-                  }}</span>
+                  鏇存柊锛�<span
+                    >{{ donatebaseinfo.updateperson }}
+                    {{ parseTime(donatebaseinfo.updatetime) }}</span
+                  >
                 </p>
               </template>
             </el-step>
@@ -27,19 +37,18 @@
               icon="el-icon-edit-outline"
               description="璇峰厛瀹屾垚鍓嶉儴姝ラ"
             >
-              <template
-                slot="description"
-                v-if="Processdata.medicalevaluation.createtime"
-              >
+              <template slot="description" v-if="medicalevaluation.createtime">
                 <p>
-                  鎻愪氦鏃堕棿锛�<span>{{
-                    parseTime(Processdata.medicalevaluation.createtime)
-                  }}</span>
+                  鎻愪氦锛�<span>
+                    {{ medicalevaluation.createperson }}
+                    {{ parseTime(medicalevaluation.createtime) }}</span
+                  >
                 </p>
                 <p>
-                  鏇存柊鏃堕棿锛�<span>{{
-                    parseTime(Processdata.medicalevaluation.updatetime)
-                  }}</span>
+                  鏇存柊锛�<span>
+                    {{ medicalevaluation.updateperson }}
+                    {{ parseTime(medicalevaluation.updatetime) }}</span
+                  >
                 </p>
               </template>
             </el-step>
@@ -50,17 +59,19 @@
             >
               <template
                 slot="description"
-                v-if="Processdata.relativesconfirmation.createtime"
+                v-if="relativesconfirmation.createtime"
               >
                 <p>
-                  鎻愪氦鏃堕棿锛�<span>{{
-                    parseTime(Processdata.relativesconfirmation.createtime)
-                  }}</span>
+                  鎻愪氦锛�<span>
+                    {{ relativesconfirmation.createperson }}
+                    {{ parseTime(relativesconfirmation.createtime) }}</span
+                  >
                 </p>
                 <p>
-                  鏇存柊鏃堕棿锛�<span>{{
-                    parseTime(Processdata.relativesconfirmation.updatetime)
-                  }}</span>
+                  鏇存柊锛�<span>
+                    {{ relativesconfirmation.updateperson }}
+                    {{ parseTime(relativesconfirmation.updatetime) }}</span
+                  >
                 </p>
               </template>
             </el-step>
@@ -69,19 +80,18 @@
               description="璇峰厛瀹屾垚鍓嶉儴姝ラ"
               icon="el-icon-s-order"
             >
-              <template
-                slot="description"
-                v-if="Processdata.donateflowcharts.createtime"
-              >
+              <template slot="description" v-if="donateflowcharts.createtime">
                 <p>
-                  鎻愪氦鏃堕棿锛�<span>{{
-                    parseTime(Processdata.donateflowcharts.createtime)
-                  }}</span>
+                  鎻愪氦锛�<span>
+                    {{ donateflowcharts.createperson }}
+                    {{ parseTime(donateflowcharts.createtime) }}</span
+                  >
                 </p>
                 <p>
-                  鏇存柊鏃堕棿锛�<span>{{
-                    parseTime(Processdata.donateflowcharts.updatetime)
-                  }}</span>
+                  鏇存柊锛�<span>
+                    {{ donateflowcharts.updateperson }}
+                    {{ parseTime(donateflowcharts.updatetime) }}</span
+                  >
                 </p>
               </template>
             </el-step>
@@ -92,17 +102,19 @@
             >
               <template
                 slot="description"
-                v-if="Processdata.donateorgansService.createtime"
+                v-if="donateorgansService.createtime"
               >
                 <p>
-                  鎻愪氦鏃堕棿锛�<span>{{
-                    parseTime(Processdata.donateorgansService.createtime)
-                  }}</span>
+                  鎻愪氦锛�<span>
+                    {{ donateorgansService.createperson }}
+                    {{ parseTime(donateorgansService.createtime) }}</span
+                  >
                 </p>
                 <p>
-                  鏇存柊鏃堕棿锛�<span>{{
-                    parseTime(Processdata.donateorgansService.updatetime)
-                  }}</span>
+                  鏇存柊锛�<span>
+                    {{ donateorgansService.updateperson }}
+                    {{ parseTime(donateorgansService.updatetime) }}</span
+                  >
                 </p>
               </template>
             </el-step>
@@ -111,19 +123,18 @@
               description="璇峰厛瀹屾垚鍓嶉儴姝ラ"
               icon="el-icon-s-management"
             >
-              <template
-                slot="description"
-                v-if="Processdata.donationwitness.createtime"
-              >
+              <template slot="description" v-if="donationwitness.createtime">
                 <p>
-                  鎻愪氦鏃堕棿锛�<span>{{
-                    parseTime(Processdata.donationwitness.createtime)
-                  }}</span>
+                  鎻愪氦锛�<span>
+                    {{ donationwitness.createperson }}
+                    {{ parseTime(donationwitness.createtime) }}</span
+                  >
                 </p>
                 <p>
-                  鏇存柊鏃堕棿锛�<span>{{
-                    parseTime(Processdata.donationwitness.updatetime)
-                  }}</span>
+                  鏇存柊锛�<span>
+                    {{ donationwitness.updateperson }}
+                    {{ parseTime(donationwitness.updatetime) }}</span
+                  >
                 </p>
               </template>
             </el-step>
@@ -134,17 +145,19 @@
             >
               <template
                 slot="description"
-                v-if="Processdata.donatecompletioninfo.createtime"
+                v-if="donatecompletioninfo.createtime"
               >
                 <p>
-                  鎻愪氦鏃堕棿锛�<span>{{
-                    parseTime(Processdata.donatecompletioninfo.createtime)
-                  }}</span>
+                  鎻愪氦锛�<span>
+                    {{ donatecompletioninfo.createperson }}
+                    {{ parseTime(donatecompletioninfo.createtime) }}</span
+                  >
                 </p>
                 <p>
-                  鏇存柊鏃堕棿锛�<span>{{
-                    parseTime(Processdata.donatecompletioninfo.updatetime)
-                  }}</span>
+                  鏇存柊锛�<span>
+                    {{ donatecompletioninfo.updateperson }}
+                    {{ parseTime(donatecompletioninfo.updatetime) }}</span
+                  >
                 </p>
               </template>
             </el-step>
@@ -153,7 +166,7 @@
       </div>
     </div>
     <!-- 鍙充晶鏁版嵁 -->
-    <div style="background: #fff; width: 80%;">
+    <div class="right-content" :class="{ 'right-expanded': isLeftCollapsed }">
       <!-- 椤堕儴鏁版嵁 -->
       <div class="boxdiv">
         <div class="top-text">鎹愮尞妗堜緥淇℃伅</div>
@@ -182,6 +195,7 @@
                     ref="getReportname"
                     v-model="form.reporterno"
                     placeholder="璇烽�夋嫨"
+                    filterable
                   >
                     <el-option
                       v-for="item in reporters"
@@ -202,14 +216,14 @@
                 </el-form-item>
               </el-col>
               <el-col :span="6">
-                <el-form-item label="鎶ュ憡鏃堕棿" align="left" prop="reporttime">
+                <el-form-item label="鎶ュ憡鏃ユ湡" align="left" prop="reporttime">
                   <el-date-picker
                     clearable
                     size="small"
                     v-model="form.reporttime"
                     type="datetime"
                     value-format="yyyy-MM-dd HH:mm:ss"
-                    placeholder="閫夋嫨鎶ュ憡鏃堕棿"
+                    placeholder="閫夋嫨鎶ュ憡鏃ユ湡"
                   >
                   </el-date-picker>
                 </el-form-item>
@@ -228,7 +242,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)"
@@ -266,7 +280,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)"
@@ -276,10 +290,14 @@
               </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">
+              <el-col :span="6" v-if="form.treatmenthospitalno">
                 <el-form-item
                   align="left"
                   label="鍖荤枟鏈烘瀯"
@@ -292,7 +310,7 @@
                   />
                 </el-form-item>
               </el-col>
-              <el-col :span="6">
+              <el-col :span="6" v-if="form.treatmentdeptname">
                 <el-form-item label="绉戝" prop="treatmentdeptno">
                   <el-input
                     v-model="form.treatmentdeptname"
@@ -345,7 +363,7 @@
         </el-steps>
       </div>
       <!-- 鍑瘉鏂囦欢 -->
-      <div class="Ticket-button" v-show="actives != 5 && actives != 4">
+      <div class="Ticket-button">
         <el-button @click.native.prevent="Filepopup" type="success"
           >鍑瘉鏂囦欢</el-button
         >
@@ -361,25 +379,57 @@
         >
           <el-row>
             <el-col :span="8">
-              <el-form-item label="浣忛櫌鍙�" prop="inpatientno">
-                <el-input v-model="form.inpatientno" placeholder="浣忛櫌鍙�" />
+              <el-form-item
+                label="鎵�鍦ㄥ尰鐤楁満鏋�"
+                label-width="120px"
+                prop="currentMedicalInstitution"
+              >
+                <el-input
+                  v-model="form.currentMedicalInstitution"
+                  placeholder="璇疯緭鍏�"
+                />
               </el-form-item>
             </el-col>
-            <el-col :span="16">
-              <el-form-item label="鐤剧梾璇婃柇" prop="diagnosisname">
-                <el-input
-                  v-model="form.diagnosisname"
-                  placeholder="璇疯緭鍏ョ柧鐥呰瘖鏂悕绉�"
-                />
+            <el-col :span="10">
+              <el-form-item
+                label-width="150px"
+                label="鎵�鍦ㄥ尰鐤楁満鏋勭瀹�"
+                prop="currentDept"
+              >
+                <el-input v-model="form.currentDept" placeholder="璇疯緭鍏�" />
               </el-form-item>
             </el-col>
           </el-row>
           <el-row>
-            <el-col :span="6">
+            <el-col :span="8">
+              <el-form-item
+                label="棣栨鍖荤枟鏈烘瀯"
+                label-width="120px"
+                prop="firstMedicalInstitution"
+              >
+                <el-input
+                  v-model="form.firstMedicalInstitution"
+                  placeholder="璇疯緭鍏�"
+                />
+              </el-form-item>
+            </el-col>
+            <el-col :span="10">
+              <el-form-item
+                label-width="150px"
+                label="棣栨鍖荤枟鏈烘瀯绉戝"
+                prop="firstDept"
+              >
+                <el-input v-model="form.firstDept" placeholder="璇疯緭鍏�" />
+              </el-form-item>
+            </el-col>
+          </el-row>
+
+          <el-row>
+            <!-- <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"
@@ -391,7 +441,7 @@
               <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="璇疯緭鍏ュ浗绫�" />
@@ -399,34 +449,8 @@
             </el-col>
           </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"
-                    :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="form.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-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"
@@ -463,12 +487,18 @@
               />
             </el-col>
           </el-row>
+
           <el-row>
-            <el-col :span="12">
+            <el-col :span="4">
+              <el-form-item label="浣忛櫌鍙�" prop="inpatientno">
+                <el-input v-model="form.inpatientno" placeholder="浣忛櫌鍙�" />
+              </el-form-item>
+            </el-col>
+            <el-col :span="9">
               <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
@@ -476,11 +506,11 @@
                 </el-radio-group>
               </el-form-item>
             </el-col>
-            <el-col :span="12" :pull="1">
+            <el-col :span="9" :pull="1">
               <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
@@ -490,10 +520,48 @@
             </el-col>
           </el-row>
           <el-row>
-            <el-form-item label="鐤剧梾绫诲瀷" align="left">
+            <el-col :span="16">
+              <el-form-item label="鐤剧梾璇婃柇" prop="diagnosisname">
+                <el-input
+                  v-model="form.diagnosisname"
+                  placeholder="璇疯緭鍏ョ柧鐥呰瘖鏂悕绉�"
+                />
+              </el-form-item>
+            </el-col>
+          </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 || []"
+                    :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="form.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-row> -->
+
+          <el-row>
+            <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"
                 >
@@ -510,10 +578,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"
                   >
@@ -533,10 +601,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"
                   >
@@ -545,11 +613,28 @@
                 </el-checkbox-group>
               </el-form-item>
             </el-col>
-            <el-col :span="15" align="left">
-              <el-form-item label="鍏朵粬鎯呭喌">
+          </el-row>
+          <el-row>
+            <el-col :span="15">
+              <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"
+                  >
+                    {{ dict.label }}
+                  </el-checkbox>
+                </el-checkbox-group>
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row>
+            <el-col :span="24">
+              <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 || []"
                     :key="dict.value"
                     :label="dict.value"
                   >
@@ -571,7 +656,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"
                       >
@@ -591,21 +676,7 @@
               </el-row>
             </div>
           </el-row>
-          <el-row>
-            <el-col :span="24">
-              <el-form-item align="left" label="鏈汉鎰忔効 ">
-                <el-checkbox-group v-model="form.selfwill">
-                  <el-checkbox
-                    v-for="dict in dict.type.sys_SelfWill"
-                    :key="dict.value"
-                    :label="dict.value"
-                  >
-                    {{ dict.label }}
-                  </el-checkbox>
-                </el-checkbox-group>
-              </el-form-item>
-            </el-col>
-          </el-row>
+
           <el-row>
             <el-col :span="12">
               <el-form-item label="涓昏浜插睘" prop="majorrelatives">
@@ -622,7 +693,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"
@@ -633,10 +704,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"
                   >
@@ -669,7 +740,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>
@@ -681,9 +752,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
@@ -715,16 +786,17 @@
                 </el-date-picker>
               </el-form-item>
             </el-col>
-          </el-row>
+          </el-row> -->
         </el-form>
         <div class="dialog-footer">
           <el-button
-            v-show="!showTerminationBtn"
+            v-show="!showTerminationBtn && workflow != 9"
             type="primary"
             @click="submitForm"
             >淇濆瓨</el-button
           >
           <el-button
+            v-if="workflow != 9"
             :type="showTerminationBtn == 0 ? 'warning' : 'success'"
             @click="Terminationcase"
             >{{ showTerminationBtn == 0 ? "缁堟" : "鎭㈠" }}</el-button
@@ -807,7 +879,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"
@@ -859,7 +931,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"
@@ -911,11 +983,12 @@
                 align="left"
               >
                 <el-select
+                  filterable
                   v-model="medicineform.coreteamassessconclusion"
                   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"
@@ -942,12 +1015,13 @@
         </el-form>
         <div class="dialog-footer">
           <el-button
-            v-show="!showTerminationBtn"
+            v-show="!showTerminationBtn && workflow != 9"
             type="primary"
             @click="Savethedetails"
             >淇濆瓨</el-button
           >
           <el-button
+            v-if="workflow != 9"
             :type="showTerminationBtn == 0 ? 'warning' : 'success'"
             @click="Terminationcase"
             >{{ showTerminationBtn == 0 ? "缁堟" : "鎭㈠" }}</el-button
@@ -972,6 +1046,55 @@
         >
           <el-row>
             <el-col :span="6">
+              <el-form-item label="鎹愯禒鑰呮皯鏃�" prop="nation">
+                <el-select
+                  filterable
+                  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
+                  filterable
+                  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>
@@ -987,7 +1110,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"
@@ -996,7 +1119,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"
@@ -1006,7 +1129,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="璇疯緭鍏ヨ仈绯荤數璇�"
@@ -1014,18 +1137,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
@@ -1037,14 +1160,18 @@
           </el-row>
           <el-row>
             <el-col :span="12">
-              <el-form-item label="绛惧瓧浜插睘" prop="kinshipconfirmationsign">
-                <el-checkbox-group v-model="organdecision">
+              <el-form-item label="浜插睘鍏崇郴" prop="kinshipconfirmationsign">
+                <el-checkbox-group v-model="kinship">
                   <el-checkbox
-                    v-for="item in kinshiplist"
-                    :key="item"
-                    :label="item"
+                    v-for="dict in dict.type.sys_kinshipConfirm || []"
+                    :label="dict.value"
+                    :value="dict.value"
                   >
-                    {{ item == "瀛愬コ" ? item + "(浜�)" : item }}
+                    {{
+                      dict.label == "鎴愬勾瀛愬コ"
+                        ? dict.label + "(浜�)"
+                        : dict.label
+                    }}
                   </el-checkbox>
                 </el-checkbox-group>
               </el-form-item>
@@ -1070,12 +1197,24 @@
             <el-form-item label-width="100px" label="鎹愮尞鍐冲畾">
               <el-checkbox-group v-model="organdecision">
                 <el-checkbox
-                  v-for="item in organselection"
+                  v-for="item in fixedOrganSelection"
                   :key="item"
                   :label="item"
                   >{{ item }}
                 </el-checkbox>
+                <el-checkbox
+                  v-if="shouldShowConditionalOrgan"
+                  :key="conditionalOrgan"
+                  :label="conditionalOrgan"
+                  >{{ conditionalOrgan }}</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>
@@ -1109,6 +1248,7 @@
             <el-col :span="6">
               <el-form-item label="璐熻矗浜�" prop="responsibleuserid">
                 <el-select
+                  filterable
                   v-model="affirmform.responsibleuserid"
                   placeholder="璇烽�夋嫨"
                 >
@@ -1127,6 +1267,7 @@
                 <el-select
                   v-model="affirmform.coordinateduserido"
                   placeholder="璇烽�夋嫨"
+                  filterable
                 >
                   <el-option
                     v-for="item in coordinatorlist1"
@@ -1143,6 +1284,7 @@
                 <el-select
                   v-model="affirmform.coordinateduseridt"
                   placeholder="璇烽�夋嫨"
+                  filterable
                 >
                   <el-option
                     v-for="item in coordinatorlist1"
@@ -1165,7 +1307,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>
@@ -1175,12 +1317,13 @@
         </el-form>
         <div class="dialog-footer">
           <el-button
-            v-show="!showTerminationBtn"
+            v-show="!showTerminationBtn && workflow != 9"
             type="primary"
             @click="Savethedetails"
             >淇濆瓨</el-button
           >
           <el-button
+            v-if="workflow != 9"
             :type="showTerminationBtn == 0 ? 'warning' : 'success'"
             @click="Terminationcase"
             >{{ showTerminationBtn == 0 ? "缁堟" : "鎭㈠" }}</el-button
@@ -1208,7 +1351,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
@@ -1246,12 +1389,13 @@
         </el-form>
         <div class="dialog-footer" style="min-height: 500px; margin: 20px 0; ">
           <el-button
-            v-show="!showTerminationBtn"
+            v-show="!showTerminationBtn && workflow != 9"
             type="primary"
             @click="Savethedetails"
             >淇濆瓨</el-button
           >
           <el-button
+            v-if="workflow != 9"
             :type="showTerminationBtn == 0 ? 'warning' : 'success'"
             @click="Terminationcase"
             >{{ showTerminationBtn == 0 ? "缁堟" : "鎭㈠" }}</el-button
@@ -1278,7 +1422,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)"
@@ -1307,27 +1451,14 @@
                       />
                     </template>
                   </el-table-column>
-                  <el-table-column
+                  <!-- <el-table-column
                     label="鍣ㄥ畼缂栧彿"
                     align="center"
                     width="90"
                     prop="organno"
-                  />
+                  /> -->
                   <el-table-column
-                    label="绯荤粺缂栧彿"
-                    align="center"
-                    width="120"
-                    prop="caseno"
-                  >
-                    <template slot-scope="scope">
-                      <el-input
-                        v-model="scope.row.caseno"
-                        placeholder="绯荤粺缂栧彿"
-                      />
-                    </template>
-                  </el-table-column>
-                  <el-table-column
-                    label="鎺ユ敹鏃堕棿"
+                    label="鍒嗛厤鎺ユ敹鏃堕棿"
                     align="center"
                     width="200"
                     prop="applicanttime"
@@ -1340,11 +1471,25 @@
                         v-model="scope.row.applicanttime"
                         type="datetime"
                         value-format="yyyy-MM-dd HH:mm:ss"
-                        placeholder="閫夋嫨鎺ユ敹鏃堕棿"
+                        placeholder="閫夋嫨鍒嗛厤鎺ユ敹鏃堕棿"
                       >
                       </el-date-picker>
                     </template>
                   </el-table-column>
+                  <el-table-column
+                    label="鍒嗛厤绯荤粺缂栧彿"
+                    align="center"
+                    width="120"
+                    prop="caseno"
+                  >
+                    <template slot-scope="scope">
+                      <el-input
+                        v-model="scope.row.caseno"
+                        placeholder="鍒嗛厤绯荤粺缂栧彿"
+                      />
+                    </template>
+                  </el-table-column>
+
                   <el-table-column
                     label="鍙椾綋濮撴皬"
                     align="center"
@@ -1361,15 +1506,17 @@
                   <el-table-column
                     label="绉绘鍖婚櫌"
                     align="center"
-                    width="230"
-                    prop="gainhospitalno"
+                    width="280"
+                    prop="transplanthospitalno"
                   >
                     <template slot-scope="scope">
                       <div class="elldiv">
                         <org-selecter
                           ref="tranHosSelect"
                           :org-type="'4'"
-                          v-model="scope.row.gainhospitalno"
+                          :filterable="true"
+                          :dataList="dataList"
+                          v-model="scope.row.transplanthospitalno"
                         />
                       </div>
                     </template>
@@ -1413,12 +1560,13 @@
         </el-form>
         <div class="dialog-footer" v-show="actives == 4">
           <el-button
-            v-show="!showTerminationBtn"
+            v-show="!showTerminationBtn && workflow != 9"
             type="primary"
             @click="Savethedetails"
             >淇濆瓨</el-button
           >
           <el-button
+            v-if="workflow != 9"
             :type="showTerminationBtn == 0 ? 'warning' : 'success'"
             @click="Terminationcase"
             >{{ showTerminationBtn == 0 ? "缁堟" : "鎭㈠" }}</el-button
@@ -1442,24 +1590,15 @@
           label-position="right"
         >
           <el-row>
-            <el-col :span="24">
-              <el-form-item
-                align="left"
-                label="鎹愮尞绫诲埆"
-                prop="donationcategory"
-              >
-                <el-radio-group v-model="witnessform.donationcategory">
-                  <el-radio
-                    v-for="dict in dict.type.sys_DonationCategory"
-                    :key="dict.value"
-                    :label="dict.value"
-                    >{{ dict.label }}</el-radio
-                  >
-                </el-radio-group>
+            <el-col :span="10">
+              <el-form-item label="鎹愮尞鍖婚櫌" prop="donateHospital ">
+                <el-input
+                  v-model="witnessform.donateHospital"
+                  placeholder="璇疯緭鍏ユ崘鐚尰闄�"
+                />
               </el-form-item>
             </el-col>
           </el-row>
-          <el-row> </el-row>
           <el-row>
             <el-col :span="6">
               <el-form-item
@@ -1490,6 +1629,19 @@
             <el-col :span="6">
               <el-form-item
                 align="left"
+                label="姝讳骸鍘熷洜"
+                label-width="120px"
+                prop="deathreason"
+              >
+                <el-input
+                  v-model="witnessform.deathreason"
+                  placeholder="璇疯緭鍏ユ浜″師鍥�"
+                />
+              </el-form-item>
+            </el-col>
+            <el-col :span="6">
+              <el-form-item
+                align="left"
                 label="姝讳骸鏃堕棿"
                 label-width="120px"
                 prop="deathtime"
@@ -1504,20 +1656,27 @@
                 </el-date-picker>
               </el-form-item>
             </el-col>
-            <el-col :span="6">
+          </el-row>
+          <el-row>
+            <el-col :span="24">
               <el-form-item
                 align="left"
-                label="姝讳骸鍘熷洜"
-                label-width="120px"
-                prop="deathreason"
+                label="鎹愮尞绫诲埆"
+                prop="donationcategory"
               >
-                <el-input
-                  v-model="witnessform.deathreason"
-                  placeholder="璇疯緭鍏ユ浜″師鍥�"
-                />
+                <el-radio-group v-model="witnessform.donationcategory">
+                  <el-radio
+                    v-for="dict in dict.type.sys_DonationCategory || []"
+                    :key="dict.value"
+                    :label="dict.value"
+                    >{{ dict.label }}</el-radio
+                  >
+                </el-radio-group>
               </el-form-item>
             </el-col>
           </el-row>
+          <el-row> </el-row>
+
           <el-row>
             <el-col :span="6">
               <el-form-item
@@ -1557,149 +1716,211 @@
           <el-row>
             <el-col :span="6">
               <el-form-item
-                label="鑵逛富鍔ㄨ剦锛氭彃绠℃椂闂�"
                 align="left"
-                label-width="140px"
-                prop="abdominalaortacannulatime"
+                label="鍗忚皟鍛橈細杩涙墜鏈鏃堕棿"
+                label-width="160px"
+                prop="coordinatorInOperating"
               >
                 <el-date-picker
                   clearable
-                  v-model="witnessform.abdominalaortacannulatime"
+                  v-model="witnessform.coordinatorInOperating"
                   type="datetime"
                   value-format="yyyy-MM-dd HH:mm:ss"
-                  placeholder="閫夋嫨鑵逛富鍔ㄨ剦鎻掔鏃堕棿"
+                  placeholder="閫夋嫨鎵嬫湳寮�濮嬫椂闂�"
                 >
                 </el-date-picker>
               </el-form-item>
             </el-col>
             <el-col :span="6">
               <el-form-item
-                label="鐏屾敞鏃堕棿"
                 align="left"
+                label="鍑烘墜鏈鏃堕棿"
                 label-width="120px"
-                prop="abdominalaortaperfusiontime"
+                prop="coordinatorOutOperating"
               >
                 <el-date-picker
                   clearable
-                  v-model="witnessform.abdominalaortaperfusiontime"
+                  v-model="witnessform.coordinatorOutOperating"
                   type="datetime"
                   value-format="yyyy-MM-dd HH:mm:ss"
-                  placeholder="閫夋嫨鑵逛富鍔ㄨ剦鐏屾敞鏃堕棿"
+                  placeholder="閫夋嫨鎵嬫湳缁撴潫鏃堕棿"
                 >
                 </el-date-picker>
               </el-form-item>
             </el-col>
             <el-col :span="6">
               <el-form-item
-                label="闂ㄩ潤鑴夛細鎻掔鏃堕棿"
                 align="left"
-                label-width="140px"
-                prop="portalveincannulatime"
-              >
-                <el-date-picker
-                  clearable
-                  v-model="witnessform.portalveincannulatime"
-                  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
-                label="鐏屾敞鏃堕棿"
-                align="left"
+                label="绛惧瓧鏃ユ湡"
                 label-width="120px"
-                prop="portalveinperfusiontime"
+                prop="coordinatorSignTime"
               >
                 <el-date-picker
                   clearable
-                  v-model="witnessform.portalveinperfusiontime"
+                  v-model="witnessform.coordinatorSignTime"
                   type="datetime"
                   value-format="yyyy-MM-dd HH:mm:ss"
-                  placeholder="閫夋嫨闂ㄩ潤鑴夌亴娉ㄦ椂闂�"
+                  placeholder="閫夋嫨鎵嬫湳缁撴潫鏃堕棿"
                 >
                 </el-date-picker>
               </el-form-item>
             </el-col>
           </el-row>
-          <el-row>
-            <el-col :span="6">
-              <el-form-item
-                label="鑲哄姩鑴夛細鎻掔鏃堕棿"
-                align="left"
-                label-width="140px"
-                prop="pulmonaryarterycannulatime"
-              >
-                <el-date-picker
-                  clearable
-                  v-model="witnessform.pulmonaryarterycannulatime"
-                  type="datetime"
-                  value-format="yyyy-MM-dd HH:mm:ss"
-                  placeholder="閫夋嫨闂ㄩ潤鑴夋彃绠℃椂闂�"
+          <div
+            v-if="
+              witnessform.abdominalaortacannulatime ||
+                witnessform.abdominalaortaperfusiontime ||
+                witnessform.pulmonaryarterycannulatime ||
+                witnessform.pulmonaryarteryperfusiontime
+            "
+          >
+            <el-row>
+              <el-col :span="6">
+                <el-form-item
+                  label="鑵逛富鍔ㄨ剦锛氭彃绠℃椂闂�"
+                  align="left"
+                  label-width="140px"
+                  prop="abdominalaortacannulatime"
                 >
-                </el-date-picker>
-              </el-form-item>
-            </el-col>
-            <el-col :span="6">
-              <el-form-item
-                label="鐏屾敞鏃堕棿"
-                align="left"
-                label-width="120px"
-                prop="pulmonaryarteryperfusiontime"
-              >
-                <el-date-picker
-                  clearable
-                  v-model="witnessform.pulmonaryarteryperfusiontime"
-                  type="datetime"
-                  value-format="yyyy-MM-dd HH:mm:ss"
-                  placeholder="閫夋嫨闂ㄩ潤鑴夌亴娉ㄦ椂闂�"
+                  <el-date-picker
+                    clearable
+                    v-model="witnessform.abdominalaortacannulatime"
+                    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
+                  label="鐏屾敞鏃堕棿"
+                  align="left"
+                  label-width="120px"
+                  prop="abdominalaortaperfusiontime"
                 >
-                </el-date-picker>
-              </el-form-item>
-            </el-col>
-            <el-col :span="6">
-              <el-form-item
-                label="涓诲姩鑴夛細鐏屾敞鏃堕棿"
-                align="left"
-                label-width="140px"
-                prop="aortacannulatime"
-              >
-                <el-date-picker
-                  clearable
-                  v-model="witnessform.aortacannulatime"
-                  type="datetime"
-                  value-format="yyyy-MM-dd  HH:mm:ss"
-                  placeholder="閫夋嫨涓诲姩鑴夌亴娉ㄦ椂闂�"
+                  <el-date-picker
+                    clearable
+                    v-model="witnessform.abdominalaortaperfusiontime"
+                    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
+                  label="闂ㄩ潤鑴夛細鎻掔鏃堕棿"
+                  align="left"
+                  label-width="140px"
+                  prop="portalveincannulatime"
                 >
-                </el-date-picker>
-              </el-form-item>
-            </el-col>
-            <el-col :span="6">
-              <el-form-item
-                label="鐏屾敞鏃堕棿"
-                align="left"
-                label-width="120px"
-                prop="aortaperfusiontime"
-              >
-                <el-date-picker
-                  clearable
-                  v-model="witnessform.aortaperfusiontime"
-                  type="datetime"
-                  value-format="yyyy-MM-dd  HH:mm:ss"
-                  placeholder="閫夋嫨涓诲姩鑴夌亴娉ㄦ椂闂�"
+                  <el-date-picker
+                    clearable
+                    v-model="witnessform.portalveincannulatime"
+                    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
+                  label="鐏屾敞鏃堕棿"
+                  align="left"
+                  label-width="120px"
+                  prop="portalveinperfusiontime"
                 >
-                </el-date-picker>
-              </el-form-item>
-            </el-col>
-          </el-row>
+                  <el-date-picker
+                    clearable
+                    v-model="witnessform.portalveinperfusiontime"
+                    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
+                  label="鑲哄姩鑴夛細鎻掔鏃堕棿"
+                  align="left"
+                  label-width="140px"
+                  prop="pulmonaryarterycannulatime"
+                >
+                  <el-date-picker
+                    clearable
+                    v-model="witnessform.pulmonaryarterycannulatime"
+                    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
+                  label="鐏屾敞鏃堕棿"
+                  align="left"
+                  label-width="120px"
+                  prop="pulmonaryarteryperfusiontime"
+                >
+                  <el-date-picker
+                    clearable
+                    v-model="witnessform.pulmonaryarteryperfusiontime"
+                    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
+                  label="涓诲姩鑴夛細鎻掔鏃堕棿"
+                  align="left"
+                  label-width="140px"
+                  prop="aortacannulatime"
+                >
+                  <el-date-picker
+                    clearable
+                    v-model="witnessform.aortacannulatime"
+                    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
+                  label="鐏屾敞鏃堕棿"
+                  align="left"
+                  label-width="120px"
+                  prop="aortaperfusiontime"
+                >
+                  <el-date-picker
+                    clearable
+                    v-model="witnessform.aortaperfusiontime"
+                    type="datetime"
+                    value-format="yyyy-MM-dd  HH:mm:ss"
+                    placeholder="閫夋嫨涓诲姩鑴夌亴娉ㄦ椂闂�"
+                  >
+                  </el-date-picker>
+                </el-form-item>
+              </el-col>
+            </el-row>
+          </div>
           <el-row>
             <el-col>
               <el-form-item label-width="100px" label="鑾峰彇鍣ㄥ畼">
                 <el-checkbox-group v-model="organList.organprocured">
                   <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="changeorganprocured(dict.value)"
@@ -1713,7 +1934,15 @@
           <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"
+                  lazy
+                  :load="loadRowData"
+                  :row-key="row => row.organno"
+                >
                   <el-table-column
                     label="鍣ㄥ畼鍚嶇О"
                     align="center"
@@ -1728,13 +1957,13 @@
                       />
                     </template>
                   </el-table-column>
-                  <el-table-column
+                  <!-- <el-table-column
                     label="鍣ㄥ畼缂栧彿"
                     align="center"
                     width="90"
                     prop="organno"
-                  />
-                  <el-table-column
+                  /> -->
+                  <!-- <el-table-column
                     label="绯荤粺缂栧彿"
                     align="center"
                     width="120"
@@ -1746,8 +1975,10 @@
                         placeholder="绯荤粺缂栧彿"
                       />
                     </template>
-                  </el-table-column>
+                  </el-table-column> -->
+
                   <el-table-column
+                    v-if="organgettimetrue"
                     label="鍣ㄥ畼绂讳綋鏃堕棿"
                     align="center"
                     width="200"
@@ -1766,10 +1997,11 @@
                       </el-date-picker>
                     </template>
                   </el-table-column>
+
                   <el-table-column
                     label="鑾峰彇鍖婚櫌"
                     align="center"
-                    width="230"
+                    width="280"
                     prop="gainhospitalno"
                   >
                     <template slot-scope="scope">
@@ -1777,6 +2009,7 @@
                         <org-selecter
                           ref="tranHosSelect"
                           :org-type="'4'"
+                          :dataList="dataList"
                           v-model="scope.row.gainhospitalno"
                         />
                       </div>
@@ -1796,6 +2029,25 @@
                     </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="璇疯緭鍏ヨ幏鍙栧紑濮嬫椂闂�"
+                      >
+                      </el-date-picker>
+                    </template>
+                  </el-table-column>
+                  <!-- <el-table-column
                     label="鍙椾綋濮撴皬"
                     align="center"
                     width="120"
@@ -1807,7 +2059,7 @@
                         placeholder="鍙椾綋濮撴皬"
                       />
                     </template>
-                  </el-table-column>
+                  </el-table-column> -->
                   <el-table-column
                     label="鑾峰彇鐘舵��"
                     align="center"
@@ -1818,6 +2070,7 @@
                       <el-select
                         v-model="scope.row.organstate"
                         placeholder="璇烽�夋嫨鍣ㄥ畼鐘舵��"
+                        filterable
                       >
                         <el-option
                           v-for="dict in organstatelist"
@@ -1851,7 +2104,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
@@ -1863,7 +2116,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
@@ -1891,6 +2144,7 @@
                 <el-select
                   v-model="witnessform.coordinateduserido"
                   placeholder="璇烽�夋嫨"
+                  filterable
                 >
                   <el-option
                     v-for="item in coordinatorlist1"
@@ -1907,6 +2161,7 @@
                 <el-select
                   v-model="witnessform.coordinateduseridt"
                   placeholder="璇烽�夋嫨"
+                  filterable
                 >
                   <el-option
                     v-for="item in coordinatorlist1"
@@ -1923,12 +2178,13 @@
 
         <div class="dialog-footer">
           <el-button
-            v-show="!showTerminationBtn"
+            v-show="!showTerminationBtn && workflow != 9"
             type="primary"
             @click="Savethedetails"
             >淇濆瓨</el-button
           >
           <el-button
+            v-if="workflow != 9"
             :type="showTerminationBtn == 0 ? 'warning' : 'success'"
             @click="Terminationcase"
             >{{ showTerminationBtn == 0 ? "缁堟" : "鎭㈠" }}</el-button
@@ -1957,7 +2213,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)"
@@ -1986,12 +2242,12 @@
                       />
                     </template>
                   </el-table-column>
-                  <el-table-column
+                  <!-- <el-table-column
                     label="鍣ㄥ畼缂栧彿"
                     align="center"
                     width="90"
                     prop="organno"
-                  />
+                  /> -->
                   <el-table-column
                     label="绯荤粺缂栧彿"
                     align="center"
@@ -2008,15 +2264,15 @@
                   <el-table-column
                     label="绉绘鍖婚櫌"
                     align="center"
-                    width="220"
-                    prop="transplanthospitalname"
-                    v-if="actives == 6"
+                    width="280"
+                    prop="hospitalno"
                   >
                     <template slot-scope="scope">
                       <org-selecter
                         ref="tranHosSelect"
                         :org-type="'4'"
-                        v-model="scope.row.transplanthospitalno"
+                        :dataList="dataList"
+                        v-model="scope.row.hospitalno"
                         style="width: 100%"
                       />
                     </template>
@@ -2059,8 +2315,8 @@
                         size="small"
                         style="width: 100%"
                         v-model="scope.row.transplanttime"
-                        type="datetime"
-                        value-format="yyyy-MM-dd HH:mm:ss"
+                        type="date"
+                        value-format="yyyy-MM-dd"
                         placeholder="閫夋嫨绉绘鏃堕棿"
                       >
                       </el-date-picker>
@@ -2076,6 +2332,7 @@
                       <el-select
                         v-model="scope.row.transplantstate"
                         placeholder="璇烽�夋嫨鍣ㄥ畼鐘舵��"
+                        filterable
                       >
                         <el-option
                           v-for="dict in transplantstatelist"
@@ -2104,12 +2361,12 @@
               </el-form-item>
             </el-col>
           </el-row>
-          <el-row>
+          <el-row v-if="accomplishform.isbodydonation">
             <el-col :span="6">
               <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
@@ -2132,6 +2389,7 @@
                 <el-select
                   v-model="accomplishform.responsibleuserid"
                   placeholder="璇烽�夋嫨"
+                  filterable
                 >
                   <el-option
                     v-for="item in leaderlist"
@@ -2148,6 +2406,7 @@
                 <el-select
                   v-model="accomplishform.coordinateduserido"
                   placeholder="璇烽�夋嫨"
+                  filterable
                 >
                   <el-option
                     v-for="item in coordinatorlist1"
@@ -2164,6 +2423,7 @@
                 <el-select
                   v-model="accomplishform.coordinateduseridt"
                   placeholder="璇烽�夋嫨"
+                  filterable
                 >
                   <el-option
                     v-for="item in coordinatorlist1"
@@ -2193,21 +2453,25 @@
         </el-form>
         <div class="dialog-footer">
           <el-button
-            v-show="!showTerminationBtn"
+            v-show="!showTerminationBtn && workflow != 9"
             type="primary"
             @click="Savethedetails"
             >淇濆瓨</el-button
           >
           <el-button
+            v-if="workflow != 9"
             :type="showTerminationBtn == 0 ? 'warning' : 'success'"
             @click="Terminationcase"
             >{{ showTerminationBtn == 0 ? "缁堟" : "鎭㈠" }}</el-button
           >
           <el-button
-            v-show="Reportforreview"
-            type="primary"
+            v-if="workflow != 9"
+            type="success"
             @click="Reportforreview"
-            >鎻愪氦</el-button
+            >鎻愪氦褰掓。</el-button
+          >
+          <el-button v-else type="danger" @click="Reportforreview"
+            >鎾ら攢褰掓。</el-button
           >
           <!-- <el-button @click="cancel">鍙� 娑�</el-button> -->
         </div>
@@ -2248,10 +2512,11 @@
           <el-tabs
             tab-position="right"
             style="height: 600px;"
+            v-model="annextype"
             @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>
@@ -2296,7 +2561,7 @@
             >
               <el-table-column
                 prop="annexname"
-              align="center"
+                align="center"
                 :show-overflow-tooltip="true"
                 label="鍚嶇О"
               >
@@ -2309,7 +2574,7 @@
 
               <el-table-column
                 prop="name"
-              align="center"
+                align="center"
                 :show-overflow-tooltip="true"
                 label="鍔熻兘"
               >
@@ -2320,7 +2585,6 @@
                     @click.native.prevent.stop="deletedowfile(scope.row)"
                     >鍒犻櫎</el-button
                   >
-
                 </template>
               </el-table-column>
             </el-table>
@@ -2384,7 +2648,9 @@
   getDonatebaseinfo,
   addDonatebaseinfo,
   updateDonatebaseinfo,
-  getDonatebaseinfoflow
+  getDonatebaseinfoflow,
+  fileCase,
+  getDonationNumber
 } from "@/api/project/donatebaseinfo";
 import {
   listMedicalevaluation,
@@ -2439,12 +2705,20 @@
   saveDonatecomporgan,
   delDonatecomporgan
 } from "@/api/project/donatecompletioninfo";
+import {
+  listDonorchargeorgan,
+  updateDonorchargeorgan,
+  addDonorchargeorgan,
+  saveDonorchargeorgan,
+  delDonorchargeorgan
+} from "@/api/project/donorcharge";
 import Li_area_select from "@/components/Address";
 import OrgSelecter from "@/views/project/components/orgselect";
 import AnnexUpload from "@/views/project/components/annexupload";
 import ReportName from "@/views/project/components/organizationUser";
 import { getToken } from "@/utils/auth";
 import { formatDate } from "@/utils/index";
+import { forEach } from "lodash";
 
 export default {
   name: "donationdetails",
@@ -2454,12 +2728,96 @@
     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: {},
+      isLeftCollapsed: false,
+      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: [
         {
@@ -2469,30 +2827,39 @@
           type: "success"
         }
       ],
+      dataList: [],
       medicineform: {
         infoid: null
       },
       affirmform: {
         infoid: null,
-        organdecision: []
+        organdecision: [],
+        kinship: []
       },
       organdecision: [],
+      organdecisionOther: "", // 鍏朵粬閫夐」鐨勫叿浣撴弿杩�
+      kinship: [],
       ethicform: {
         infoid: null
       },
-
       kinshiplist: ["閰嶅伓", "鐖朵翰", "姣嶄翰", "瀛愬コ", "鍙楁墭浜�"],
-      organselection: [
+
+      // 鍥哄畾鐨勯�夐」鍒楄〃锛堢Щ闄や簡"閬椾綋"锛�
+      fixedOrganSelection: [
         "鑲濊剰",
-        "鍙岃偩鑴�",
+        "鑲捐剰",
+        "鍗曞乏鑲�",
+        "鍗曞彸鑲�",
         "蹇冭剰",
         "鑲鸿剰",
         "鑳拌吅",
         "灏忚偁",
         "鍙岀溂缁勭粐",
-        "閬椾綋",
         "鍏朵粬"
       ],
+
+      // 闇�瑕佹潯浠舵樉绀虹殑閫夐」
+      conditionalOrgan: "閬椾綋",
 
       //閫夋嫨鍣ㄥ畼琛ㄥ崟
       organList: {
@@ -2521,8 +2888,23 @@
       allocateddata: [],
       allocateddataform: {},
       procureddata: [],
+      organgettimetrue: false,
       transplantdata: [],
-
+      sysOrganlistL: [
+        { label: "蹇冭剰", value: "C38" },
+        { label: "鑲濊剰", value: "C22" },
+        { label: "宸﹁偩", value: "C64L" },
+        { label: "鍙宠偩", value: "C64R" },
+        { label: "鍏ㄨ偤", value: "C34" },
+        { label: "宸﹁偤", value: "C34L" },
+        { label: "鍙宠偤", value: "C34R" },
+        { label: "灏忚偁", value: "C17" },
+        { label: "鑳拌吅", value: "C25" },
+        { label: "閬椾綋", value: "C00" },
+        { label: "宸︾溂瑙掕啘", value: "C69L" },
+        { label: "鍙崇溂瑙掕啘", value: "C69R" },
+        { label: "鍏朵粬", value: "C01" }
+      ],
       witnessform: {
         infoid: null
       },
@@ -2540,7 +2922,13 @@
       showTerminationBtn: 0, //缁堟鐘舵�� 0-鏈粓姝� 1-宸茬粓姝�
       // 娴佺▼鏁版嵁锛歞onatebaseinfo[createtime,updatetime]銆乵edicalevaluation銆乺elativesconfirmation銆乨onateflowcharts銆乨onateorgansService銆乨onationwitness銆乨onatecompletioninfo
       Processdata: {},
-
+      donatebaseinfo: {},
+      medicalevaluation: {},
+      relativesconfirmation: {},
+      donateflowcharts: {},
+      donateorgansService: {},
+      donationwitness: {},
+      donatecompletioninfo: {},
       //鐪佸競鍖洪粯璁ゅ�艰缃紝鍙负绌�
       searchAddress: {
         sheng: "",
@@ -2568,6 +2956,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" }
         ],
@@ -2577,21 +2980,44 @@
         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" }
+        ],
+        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" }
         ],
         sex: [{ required: true, message: "鎬у埆涓嶈兘涓虹┖", trigger: "blur" }],
         age: [{ required: true, message: "璇疯緭鍏ュ勾榫�", trigger: "blur" }],
-        treatmenthospitalno: [
-          { required: true, message: "璇烽�夋嫨鍖荤枟鏈烘瀯", trigger: "blur" }
-        ],
+        // treatmenthospitalno: [
+        //   { required: true, message: "璇烽�夋嫨鍖荤枟鏈烘瀯", trigger: "blur" }
+        // ],
         bloodtype: [
           { required: true, message: "璇烽�夋嫨ABO琛�鍨�", trigger: "blur" }
         ],
@@ -2612,16 +3038,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" }
         ],
@@ -2636,12 +3052,37 @@
         ]
       },
       // 鍚勭骇鏄庣粏鏁堥獙
-      medicinerules: {},
+      medicinerules: {
+        illnessoverview: [
+          { required: true, message: "璇疯緭鍏ョ梾鎯呮鍐�", trigger: "blur" }
+        ],
+        diagnosisname: [
+          { required: true, message: "璇疯緭鍏ョ柧鐥呰瘖鏂�", trigger: "blur" }
+        ],
+        hospitalassessdoctor: [
+          { required: true, message: "璇疯緭鍏ラ櫌绾ц瘎浼板尰鐢�", trigger: "blur" }
+        ],
+        provincialassessdoctor: [
+          { required: true, message: "璇疯緭鍏ョ渷绾ц瘎浼板尰鐢�", trigger: "blur" }
+        ],
+        coreteamassessdoctor: [
+          { required: true, message: "璇疯緭鍏ユ牳蹇冩垚鍛樿瘎浼板尰鐢�", trigger: "blur" }
+        ],
+      },
       affirmrules: {
         name: [
           { 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: [
@@ -2670,7 +3111,7 @@
       //鎶ュ憡浜哄垪琛�
       reporters: [],
       //闄勪欢鍒楄〃
-      annextype: 1, //闄勪欢type
+      annextype: "1", //闄勪欢type
       annexfilesList: [], //闄勪欢灞曠ず鍒�
       potentiallist: [], //娼滃湪闄勪欢
       medicinelist: [], //鍖诲闄勪欢
@@ -2702,12 +3143,22 @@
   },
 
   created() {
+    console.log("鍔犺浇鐨勫瓧鍏告暟鎹�:", this.dict.type);
     this.Getnetworkheader();
+    this.getdataList();
     this.infoid = this.$route.query.id;
+  },
+  computed: {
+    // 璁$畻灞炴�э細鍐冲畾鏄惁鏄剧ず鈥滈仐浣撯�濋�夐」
+    shouldShowConditionalOrgan() {
+      // 褰撻�変腑椤逛腑鍖呭惈鈥滈仐浣撯�濇椂锛屾墠鏄剧ず瀹�
+      return this.organdecision.includes(this.conditionalOrgan);
+    }
   },
   mounted() {
     // this.id = this.$route.query.id;
     this.Getbasicinformation();
+
     this.listDonateannex();
     //鑾峰彇鎶ュ憡浜哄垪琛細涓撹亴浜哄憳
     listReportname("zzry").then(res => {
@@ -2721,28 +3172,81 @@
     listReportname("fzr").then(res => {
       this.leaderlist = res.data;
     });
+    // this.customOrganSort();
+  },
+  watch: {
+    // 鐩戝惉 procureddata 鐨勫彉鍖栵紝鏁版嵁鏇存柊鍚庨噸鏂版帓搴�
+    procureddata: {
+      handler(newVal) {
+        if (this.procureddata[0].organgettime) {
+          this.organgettimetrue = true;
+        }
+        if (this.isSorting) {
+          return;
+        }
+        this.customOrganSort();
+      }
+      // deep: true // 娣卞害鐩戝惉锛屽洜涓烘暟缁勫唴瀹瑰彲鑳藉彉鍖�
+    },
+    allocateddata: {
+      handler(newVal) {
+        if (this.isSorting) {
+          return;
+        }
+        this.allocateddataSort();
+      }
+      // deep: true // 娣卞害鐩戝惉锛屽洜涓烘暟缁勫唴瀹瑰彲鑳藉彉鍖�
+    }
   },
 
   methods: {
+    loadRowData(row, treeNode, resolve) {
+      // 鍙湁褰撹灞曞紑鎴栭渶瑕佹椂鎵嶅畬鏁存覆鏌撳唴閮ㄧ粍浠�
+      this.$set(row, "loaded", true);
+      resolve();
+    },
     // 鑾峰彇涓昏〃鍙婇檮灞炴暟鎹�
     Getbasicinformation() {
       // 宸︿晶娴佺▼鏁版嵁
       getDonatebaseinfoflow(this.infoid).then(res => {
-        this.Processdata = res.data;
+        if (res.code == 200) {
+          this.Processdata = res.data;
+          this.donatebaseinfo = this.Processdata.donatebaseinfo;
+          this.medicalevaluation = this.Processdata.medicalevaluation;
+          this.relativesconfirmation = this.Processdata.relativesconfirmation;
+          this.donateflowcharts = this.Processdata.donateflowcharts;
+          this.donateorgansService = this.Processdata.donateorgansService;
+          this.donationwitness = this.Processdata.donationwitness;
+          this.donatecompletioninfo = this.Processdata.donatecompletioninfo;
+        } else {
+          this.$message.error("渚ц竟鏍忎俊鎭幏鍙栧け璐�");
+        }
       });
 
       // 琛ㄥ崟鏁版嵁
       getDonatebaseinfo(this.infoid).then(response => {
         this.form = response.data;
-        if(response.data.terminationCase){
+        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{
+        } 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(",");
         this.form.selfwill = this.form.selfwill.split(",");
@@ -2750,6 +3254,7 @@
         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 = "浜轰綋鍣ㄥ畼娼滃湪鎹愮尞鑰呯櫥璁拌〃";
         this.registerAddresss.sheng = response.data.registerprovincename;
@@ -2758,6 +3263,7 @@
         this.residenceAddresss.shi = response.data.residencecityname;
         this.residenceAddresss.qu = response.data.residencetownname;
         this.registerAddresss.qu = response.data.registertownname;
+
         // 鑾峰彇浜岀骇琛�
         this.GetAttacheddata();
       });
@@ -2769,9 +3275,7 @@
       };
       if (this.actives == 1) {
         this.activetele = "鍖诲璇勪及";
-        if (this.medicineform.infoid) {
-          return;
-        }
+
         listMedicalevaluation(searchParam).then(response => {
           if (response.code == 200 && response.rows[0]) {
             this.medicineform = response.rows[0];
@@ -2783,14 +3287,17 @@
         });
       } else if (this.actives == 2) {
         this.activetele = "鎹愮尞纭";
-        if (this.affirmform.infoid) {
-          return;
-        }
+
         listRelativesconfirmation(searchParam).then(response => {
           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(",");
             }
             if (!this.affirmform) {
               this.affirmform = {};
@@ -2801,14 +3308,6 @@
             this.defultAddresss.sheng = this.affirmform.residenceprovincename;
             this.defultAddresss.shi = this.affirmform.residencecityname;
             this.defultAddresss.qu = this.affirmform.residencetownname;
-            // if (this.affirmform.kinship) {
-            //   this.affirmform.kinship = this.affirmform.kinship.split(",");
-            // }
-            // if (this.affirmform.organdecision) {
-            //   this.affirmform.organdecision = this.affirmform.organdecision.split(
-            //     ","
-            //   );
-            // }
           } else {
             // this.$modal.msgError(
             //   "鏌ヨ鏄惁瀛樺湪纭鐧昏璁板綍澶辫触" + JSON.stringify(response)
@@ -2817,9 +3316,7 @@
         });
       } else if (this.actives == 3) {
         this.activetele = "浼︾悊瀹℃煡";
-        if (this.ethicform.infoid) {
-          return;
-        }
+
         //listDonateflowchart(searchParam).then(response => {
         listEthicalreviewopinions(searchParam).then(response => {
           if (response.code == 200 && response.rows.length) {
@@ -2828,7 +3325,7 @@
             console.log("浼︾悊瀹℃煡鏁版嵁涓虹┖");
           }
         });
-      } else if (this.actives == 4 && !this.allocateddata[0]) {
+      } else if (this.actives == 4) {
         listDonateorgan(searchParam).then(res => {
           if (res.code == 200) {
             if (res.rows[0]) {
@@ -2846,9 +3343,9 @@
             // );
           }
         });
-      } else if (this.actives == 5 && !this.witnessform.infoid) {
+      } else if (this.actives == 5) {
         // 涓嶅瓨鍦ㄦ椂鑾峰彇鍣ㄥ畼淇℃伅
-        if (this.witnessform.infoid) {
+        if (this.procureddata[0] && !this.istb) {
           return;
         }
 
@@ -2856,7 +3353,22 @@
           if (res.code == 200) {
             if (res.rows[0]) {
               this.procureddata = res.rows;
-              this.procureddata.infoid = this.infoid;
+              // this.procureddata.infoid = this.infoid;
+            } else {
+              this.procureddata = this.allocateddata.filter(
+                obj =>
+                  obj.organname !== "宸﹀崐鑲�" &&
+                  obj.organname !== "鍙冲崐鑲�" &&
+                  obj.organname !== "宸﹀鍙�" &&
+                  obj.organname !== "鍙充笁鍙�" &&
+                  obj.organname !== "宸﹁倽" &&
+                  obj.organname !== "鍙宠倽"
+              );
+              this.procureddata = this.procureddata.map(obj => {
+                obj.id = null;
+                return obj;
+              });
+              // this.procureddata.infoid = this.infoid;
             }
             this.organList.organprocured = [];
             for (let i = 0; i < this.procureddata.length; i++) {
@@ -2875,6 +3387,7 @@
             if (response.data) {
               this.witnessform = response.data;
               this.witnessform.infoid = this.infoid;
+              this.istb = false;
             }
           } else {
             // this.$modal.msgError(
@@ -2884,36 +3397,50 @@
         });
       } else if (this.actives == 6) {
         this.activetele = "瀹屾垚鐧昏";
-        if (this.accomplishform.infoid) {
+        if (this.transplantdata[0] && !this.istb) {
           return;
         }
-        // 涓嶅瓨鍦ㄦ椂鑾峰彇鍣ㄥ畼
-        let accpre = {
-          id: searchParam.infoid
-        };
-        if (!this.organList.organtransplant[0]) {
-          listDonatecomporgan(searchParam).then(res => {
-            if (res.code == 200) {
-              if (res.rows[0]) {
-                this.transplantdata = res.rows;
-                this.transplantdata.infoid = this.infoid;
-              }
-              for (let i = 0; i < this.transplantdata.length; i++) {
-                this.organList.organtransplant.push(
-                  this.transplantdata[i].organno
-                );
-              }
+        console.log("瀹屾垚鐧昏鍔犺浇鏁版嵁...");
+
+        listDonatecomporgan(searchParam).then(res => {
+          if (res.code == 200) {
+            console.log("listDonatecomporgan 鏁版嵁锛�", res.rows);
+
+            if (res.rows[0]) {
+              this.transplantdata = res.rows;
+              // this.transplantdata.infoid = this.infoid;
             } else {
-              // this.$modal.msgError(
-              //   "鍣ㄥ畼鍒楄〃鑾峰彇澶辫触锛�" + JSON.stringify(resall)
-              // );
+              this.transplantdata = this.allocateddata;
+              this.transplantdata = this.transplantdata.map(obj => {
+                obj.id = null;
+                if (
+                  obj.organname == "宸︾溂瑙掕啘" ||
+                  obj.organname == "鍙崇溂瑙掕啘"
+                ) {
+                  obj.transplantstate = 2;
+                }
+                return obj;
+              });
+
+              this.transplantdata.infoid = this.infoid;
             }
-          });
-        }
+            for (let i = 0; i < this.transplantdata.length; i++) {
+              this.organList.organtransplant.push(
+                this.transplantdata[i].organno
+              );
+            }
+          } else {
+            // this.$modal.msgError(
+            //   "鍣ㄥ畼鍒楄〃鑾峰彇澶辫触锛�" + JSON.stringify(resall)
+            // );
+          }
+        });
+
         // 鑾峰彇瀹屾垚鐧昏淇℃伅
-        // listnewDonatecompletioninfo(accpre).then(response => {
-        listDonatecompletioninfo(accpre).then(response => {
+        listDonatecompletioninfo(searchParam).then(response => {
           if (response.code == 200 && response.rows.length) {
+            console.log("listDonatecompletioninfo 鏁版嵁锛�", response.rows[0]);
+
             this.accomplishform = response.rows[0];
             this.accomplishform.infoid = this.infoid;
           } else {
@@ -2923,17 +3450,40 @@
       } else if (this.actives == 0) {
         this.activetele = "娼滃湪鎹愮尞";
       }
+      if (!this.allocateddata[0]) {
+        listDonateorgan(searchParam).then(res => {
+          if (res.code == 200) {
+            console.log("listDonateorgan 鏁版嵁锛�", res.rows);
+            if (res.rows[0]) {
+              this.allocateddata = res.rows;
+              this.allocateddataform.allocateddata = this.allocateddata;
+            }
+            this.organList.organallocated = [];
+            for (let i = 0; i < res.rows.length; i++) {
+              this.organList.organallocated.push(this.allocateddata[i].organno);
+            }
+          } else {
+          }
+        });
+      }
+    },
+    // 鍒囨崲渚ц竟闅愯棌
+    toggleLeftCollapse() {
+      this.isLeftCollapsed = !this.isLeftCollapsed;
     },
     /** 淇濆瓨涓昏〃鎸夐挳 */
-
     submitForm() {
       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"
           );
+
           this.form.diseasetype = this.form.diseasetype.join(",");
+
           this.form.infectious = this.form.infectious.join(",");
           this.form.selfwill = this.form.selfwill.join(",");
           this.form.othercases = this.form.othercases.join(",");
@@ -2991,7 +3541,9 @@
             }
             updateDonatebaseinfo(this.form).then(response => {
               this.$modal.msgSuccess("淇濆瓨鎴愬姛");
-              Modifydonationattachment(this.donatelist).then(res => {});
+              Modifydonationattachment(this.donatelist).then(res => {
+                this.listDonateannex();
+              });
               this.Getbasicinformation();
               // this.Processvalidation();
               this.open = false;
@@ -3001,7 +3553,9 @@
             addDonatebaseinfo(this.form).then(response => {
               if (response.code == 200) {
                 this.$modal.msgSuccess("鏂板鎴愬姛");
-                Modifydonationattachment(this.donatelist).then(res => {});
+                Modifydonationattachment(this.donatelist).then(res => {
+                  this.listDonateannex();
+                });
                 this.Getbasicinformation();
                 // this.Processvalidation();
                 this.open = false;
@@ -3010,6 +3564,8 @@
               }
             });
           }
+        } else {
+          this.$modal.msgError("鍓嶉儴娼滃湪鎹愮尞琛ㄥ崟淇℃伅鏈夌己婕忚鎺掓煡鍚庨噸鏂颁繚瀛�");
         }
       });
     },
@@ -3020,13 +3576,16 @@
         this.medicineform.infoid = this.infoid;
         this.$refs["medicineform"].validate(valid => {
           if (valid) {
+            this.$modal.loading("姝e湪鎻愪氦锛岃绋嶅�欙紒");
             if (this.medicineform.id != null) {
               updateMedicalevaluation(this.medicineform).then(response => {
                 this.$modal.msgSuccess("鍖诲璇勪及淇℃伅淇敼鎴愬姛");
+                this.$modal.closeLoading();
               });
             } else {
               addMedicalevaluation(this.medicineform).then(response => {
                 this.$modal.msgSuccess("鍖诲璇勪及淇℃伅鏂板鎴愬姛");
+                this.$modal.closeLoading();
               });
             }
             this.Processvalidation();
@@ -3035,18 +3594,28 @@
       } 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) {
+            this.$modal.loading("姝e湪鎻愪氦锛岃绋嶅�欙紒");
             if (this.affirmform.id != null) {
               this.affirmform.residenceprovincename = this.defultAddresss.sheng;
               this.affirmform.residencecityname = this.defultAddresss.shi;
               this.affirmform.residencetownname = this.defultAddresss.qu;
               updateRelativesconfirmation(this.affirmform).then(response => {
                 this.$modal.msgSuccess("鎹愮尞纭淇℃伅淇敼鎴愬姛");
+                this.$modal.closeLoading();
               });
             } else {
+              this.affirmform.residenceprovincename = this.defultAddresss.sheng;
+              this.affirmform.residencecityname = this.defultAddresss.shi;
+              this.affirmform.residencetownname = this.defultAddresss.qu;
               addRelativesconfirmation(this.affirmform).then(response => {
                 this.$modal.msgSuccess("鎹愮尞纭淇℃伅鏂板鎴愬姛");
+                this.$modal.closeLoading();
               });
             }
             this.Processvalidation();
@@ -3056,46 +3625,43 @@
         this.ethicform.infoid = this.infoid;
         this.$refs["ethicform"].validate(valid => {
           if (valid) {
+            this.$modal.loading("姝e湪鎻愪氦锛岃绋嶅�欙紒");
             if (this.ethicform.id != null) {
               // updateDonateflowchart(this.ethicform).then(response => {
               updateEthicalreviewopinions(this.ethicform).then(res => {
                 this.$modal.msgSuccess("浼︾悊瀹℃煡淇℃伅淇敼鎴愬姛");
+                this.$modal.closeLoading();
               });
             } else {
               //addDonateflowchart(this.ethicform).then(response => {
               addEthicalreviewopinions(this.ethicform).then(res => {
                 this.$modal.msgSuccess("浼︾悊瀹℃煡淇℃伅鏂板鎴愬姛");
+                this.$modal.closeLoading();
               });
             }
             this.Processvalidation();
           }
         });
       } else if (this.actives == 4) {
-        this.procureddata.infoid = this.infoid;
+        // this.procureddata.infoid = this.infoid;
         this.$refs["allocateddataform"].validate(valid => {
-          /**
-          let rows = [];
-          this.allocateddata.map(item => {
-            if (item.id) {
-              item.applicanttime = formatDate(item.applicanttime);
-              updateDonateorgan(item).then(response => { });
-            } else {
-              item.infoid=this.infoid;
-              rows.push(item);
-            }
-          });
-          if (rows.length) {
-            addOrganallocation(rows).then(res => {
-              this.$modal.msgSuccess("鍣ㄥ畼鎹愮尞淇℃伅鏂板鎴愬姛");
-            });
-          }
-           */
+          this.$modal.loading("姝e湪鎻愪氦锛岃绋嶅�欙紒");
+
           this.allocateddata.map(item => {
             item.applicanttime = formatDate(item.applicanttime);
+          });
+          this.allocateddata.forEach(item => {
+            const objs = this.dataList.find(
+              obj => obj.organizationid == item.transplanthospitalno
+            );
+            if (objs) {
+              item.transplanthospitalname = objs.organizationname;
+            }
           });
           saveDonateorgan(this.allocateddata).then(res => {
             if (res.code == 200) {
               this.$modal.msgSuccess("鍣ㄥ畼鎹愮尞鍒嗛厤淇℃伅淇濆瓨鎴愬姛锛�");
+              this.$modal.closeLoading();
             }
           });
           this.Processvalidation();
@@ -3111,6 +3677,7 @@
               coordinatedusernameIndex
             ].reportName;
           }
+
           //鍗忚皟鍛�2
           let coordinatedusernametIndex = this.coordinatorlist1.findIndex(
             item => this.witnessform.coordinateduseridt == item.reportNo
@@ -3122,48 +3689,115 @@
           }
 
           if (valid) {
+            this.$modal.loading("姝e湪鎻愪氦锛岃绋嶅�欙紒");
+
             if (this.witnessform.id != null) {
               updateDonationwitness(this.witnessform).then(response => {
                 this.$modal.msgSuccess("鑾峰彇瑙佽瘉淇℃伅淇敼鎴愬姛");
+                this.form.donationcategory = this.witnessform.donationcategory;
+                this.Processvalidation();
+
+                this.procureddata.forEach(item => {
+                  const objs = this.dataList.find(
+                    obj => obj.organizationid == item.gainhospitalno
+                  );
+                  if (objs) {
+                    item.gainhospitalname = objs.organizationname;
+                  }
+                });
+                //淇濆瓨鍣ㄥ畼鑾峰彇琛ㄦ暟鎹�
+                saveDonationwitnessorgan(this.procureddata).then(res => {
+                  if (res == 200) {
+                    this.$modal.msgSuccess("鎹愮尞鍣ㄥ畼鑾峰彇淇℃伅淇濆瓨鎴愬姛锛�");
+                  }
+                  this.$modal.closeLoading();
+                });
               });
             } else {
               addDonationwitness(this.witnessform).then(response => {
-                this.$modal.msgSuccess("鑾峰彇瑙佽瘉淇℃伅鏂板鎴愬姛");
+                if (response.code === 200) {
+                  this.$modal.msgSuccess("鑾峰彇瑙佽瘉淇℃伅鏂板鎴愬姛");
+                  this.form.donationcategory = this.witnessform.donationcategory;
+                  let data = JSON.parse(JSON.stringify(this.form));
+                  data.diseasetype = "";
+                  data.infectious = data.infectious.join(",");
+                  data.selfwill = data.selfwill.join(",");
+                  data.othercases = data.othercases.join(",");
+                  data.infosources = data.infosources.join(",");
+                  data.kinship = data.kinship.join(",");
+                  data.patientstate = data.patientstate.join(",");
+                  // 鑾峰彇鎹愮尞缂栧彿
+                  getDonationNumber(data).then(res => {
+                    this.form.donorno = res.msg;
+                    this.istb = true;
+                    this.Processvalidation();
+                  });
+                  //淇濆瓨鍣ㄥ畼鑾峰彇琛ㄦ暟鎹�
+                  saveDonationwitnessorgan(this.procureddata).then(res => {
+                    if (res == 200) {
+                      this.$modal.msgSuccess("鎹愮尞鍣ㄥ畼鑾峰彇淇℃伅淇濆瓨鎴愬姛锛�");
+                    }
+                    this.$modal.closeLoading();
+                  });
+                } else {
+                  this.$modal.msgError("鑾峰彇瑙佽瘉淇℃伅鏂板澶辫触");
+                  this.$modal.closeLoading();
+                }
               });
             }
-
-            //淇濆瓨鍣ㄥ畼鑾峰彇琛ㄦ暟鎹�
-            this.procureddata.infoid = this.infoid;
-            saveDonationwitnessorgan(this.procureddata).then(res => {
-              if (res == 200) {
-                this.$modal.msgSuccess("鎹愮尞鍣ㄥ畼鑾峰彇淇℃伅淇濆瓨鎴愬姛锛�");
-              }
-            });
-
-            this.form.donationcategory = this.witnessform.donationcategory;
-            this.Processvalidation();
           }
         });
       } else if (this.actives == 6) {
         this.accomplishform.infoid = this.infoid;
         this.$refs["accomplishform"].validate(valid => {
           if (valid) {
-            // 淇濆瓨鎹愮尞鍣ㄥ畼绉绘淇℃伅
-            this.transplantdata.infoid = this.infoid;
-            saveDonatecomporgan(this.transplantdata).then(res => {
-              if (res == 200) {
-                this.$modal.msgSuccess("鎹愮尞鍣ㄥ畼鑾峰彇淇℃伅淇濆瓨鎴愬姛锛�");
+            this.$modal.loading("姝e湪鎻愪氦锛岃绋嶅�欙紒");
+
+            this.transplantdata.forEach(item => {
+              item.donorname = this.form.name;
+            });
+            this.transplantdata.forEach(item => {
+              const objs = this.dataList.find(
+                obj => obj.organizationid == item.hospitalno
+              );
+              if (objs) {
+                item.hospitalname = objs.organizationname;
               }
             });
-
             // 淇濆瓨纭淇℃伅
             if (this.accomplishform.id) {
               updateDonatecompletioninfo(this.accomplishform).then(response => {
                 this.$modal.msgSuccess("瀹屾垚鐧昏淇℃伅淇敼鎴愬姛");
+                saveDonatecomporgan(this.transplantdata).then(res => {
+                  if (res == 200) {
+                    this.$modal.msgSuccess("鎹愮尞鍣ㄥ畼鐧昏淇℃伅淇濆瓨鎴愬姛锛�");
+                  } else {
+                    this.$modal.msgSuccess(res.msg);
+                  }
+                  this.$modal.closeLoading();
+                });
               });
             } else {
               addDonatecompletioninfo(this.accomplishform).then(response => {
                 this.$modal.msgSuccess("瀹屾垚鐧昏鎴愬姛");
+                saveDonatecomporgan(this.transplantdata).then(res => {
+                  if (res.code == 200) {
+                    this.$modal.msgSuccess("鎹愮尞鍣ㄥ畼鐧昏淇℃伅淇濆瓨鎴愬姛锛�");
+                  } else {
+                    this.$modal.msgError(res.msg);
+                  }
+                  this.$modal.closeLoading();
+                });
+                this.istb = true;
+                // this.$modal
+                //   .confirm("妗堜緥宸插畬鎴愭槸鍚﹁烦杞渚嬭垂鐢ㄩ〉闈㈣繘琛岃垂鐢ㄥ崟淇濆瓨锛�")
+                //   .then(() => {
+                //     this.$router.push({
+                //       path: "/finance/donorchargedetail/",
+                //       query: { gxinzt: true, operation: "add", data: this.form, }
+                //     });
+                //   })
+                //   .catch(() => {});
               });
             }
 
@@ -3171,6 +3805,75 @@
           }
         });
       }
+    },
+
+    customOrganSort() {
+      console.log("璋冪敤");
+
+      // 1. 鍔犻攣锛岄樆姝㈢洃鍚櫒鎵ц
+      this.isSorting = true;
+      this.loading = 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;
+        this.loading = 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) {
@@ -3184,6 +3887,10 @@
         this.$modal.msgWarning("璇峰厛瀹屾垚鍓嶉儴姝ラ");
       }
       // }
+    },
+    // 鑾峰彇閮ㄩ棬鏁版嵁缂撳瓨
+    getdataList() {
+      this.$store.dispatch("getdataList").then(() => {});
     },
     // 鍣ㄥ畼鍒嗛厤鏍忕洰鎺у埗
     changeorganState(value) {
@@ -3339,7 +4046,7 @@
         if (organIndex != -1) {
           if (this.transplantdata[organIndex].id > 0) {
             this.$confirm(
-              "鍒犻櫎鍣ㄥ畼鏁版嵁鍚庡皢涓嶆硶鎭㈠锛屾偍纭鍒犻櫎璇ユ潯璁板綍鍚楋紵",
+              "鍒犻櫎鍣ㄥ畼鏁版嵁鍚庡皢鏃犳硶鎭㈠锛屾偍纭鍒犻櫎璇ユ潯璁板綍鍚楋紵",
               "鎻愮ず",
               {
                 confirmButtonText: "纭畾",
@@ -3356,6 +4063,12 @@
                     this.$modal.msgSuccess(
                       "鍒犻櫎鎴愬姛锛屽鏋滈渶瑕佸鍔犺鍣ㄥ畼锛岃閲嶆柊閫夋嫨鍣ㄥ畼锛�"
                     );
+                    listDonorchargeorgan({
+                      infoid: this.transplantdata[organIndex].infoid,
+                      organno: this.transplantdata[organIndex].organno
+                    }).then(res => {
+                      delDonorchargeorgan(res.rows[0].id);
+                    });
                   }
                 );
               })
@@ -3385,7 +4098,8 @@
               id: null,
               infoid: this.infoid,
               donorno: this.form.donorno,
-              organstate: 1
+              organstate: 1,
+              transplantstate: 1
             });
           }
         } else {
@@ -3405,8 +4119,8 @@
     },
     // 鏇存敼杩涚▼鏁堥獙
     Processvalidation() {
-      if (this.form.workflow + 1 == this.actives || this.actives == 6) {
-        if (this.form.workflow <= 6) {
+      if (this.form.workflow + 1 == this.actives) {
+        if (this.form.workflow < 6) {
           this.form.workflow++;
         } else {
         }
@@ -3414,17 +4128,53 @@
         // this.GetAttacheddata();
       } else if (this.form.workflow > this.actives) {
         this.submitForm();
-        Modifydonationattachment(this.donatelist).then(res => {});
-        this.listDonateannex();
-        this.GetAttacheddata();
+        // Modifydonationattachment(this.donatelist).then(res => {});
+        // this.GetAttacheddata();
       } else {
         this.submitForm();
         // this.$modal.msgWarning("璇峰厛瀹屾垚鍓嶉儴姝ラ");
         return;
       }
     },
-    // 涓婃姤瀹℃牳
-    Reportforreview() {},
+    // 鎻愪氦褰掓。
+    Reportforreview() {
+      if (this.form.workflow == 8) {
+        this.form.workflow = 7;
+        this.submitForm();
+        this.$router.go(-1);
+        this.$message({
+          type: "success",
+          message: "鎾ら攢鎴愬姛!"
+        });
+      } else {
+        this.$confirm("鍗冲皢杩涜妗堜緥褰掓。, 纭鎵�鏈夋暟鎹凡淇濆瓨?", "鎻愮ず", {
+          confirmButtonText: "纭畾",
+          cancelButtonText: "鍙栨秷",
+          type: "warning"
+        })
+          .then(() => {
+            fileCase({ infoId: this.infoid }).then(res => {
+              if (res.code == 500) {
+                this.$message.error(res.msg);
+              } else {
+                this.form.workflow = 8;
+                this.submitForm();
+                this.$message({
+                  type: "success",
+                  message: "褰掓。鎴愬姛!"
+                });
+                this.$router.go(-1);
+              }
+            });
+          })
+          .catch(() => {
+            this.$message({
+              type: "info",
+              message: "宸插彇娑堝綊妗�"
+            });
+          });
+      }
+    },
     // 缁堟妗堜緥
     Terminationcase() {
       this.form.terminationCase == 1
@@ -3457,8 +4207,11 @@
     // 鑾峰彇闄勪欢鏁版嵁骞跺垎绫讳簩绾у垪
     listDonateannex() {
       let parmi = {};
+      console.log(222);
+
       parmi.infoid = this.infoid.toString();
       listDonateannex(parmi).then(res => {
+        console.log(333);
         this.donatelist = res.rows;
       });
     },
@@ -3629,7 +4382,6 @@
       this.annexfilesList.splice(indexvalue, 1);
       this.Newconversion(this.annexfilesList, indexvalue, "");
     },
- 
 
     clearFilter() {
       this.$refs.filterTable.clearFilter();
@@ -3690,156 +4442,248 @@
       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"
-  ]
+  }
 };
 </script>
 
 <style lang="scss" scoped>
 .particularsdiv {
-  display: -webkit-box;
+  display: flex;
   background-color: #f5f7fa;
-  height: 100%;
+  height: 100vh;
+  overflow: hidden;
+  transition: all 0.3s ease;
 
+  // 宸︿晶宸ヤ綔杩涚▼鏍�
   .left-course {
     background: #fff;
-    width: 17vw;
+    width: 220px;
+    min-width: 220px;
     text-align: center;
-    margin: 20px 10px;
-    padding: 10px;
-    margin-top: 0;
-    min-height: 888px;
+    margin: 0;
+    padding: 0;
+    height: 100%;
+    box-shadow: 2px 0 8px rgba(0, 0, 0, 0.1);
+    transition: all 0.3s ease;
+    position: relative;
+    z-index: 100;
+
+    &.left-collapsed {
+      width: 64px; // 鏀逛负鍥哄畾瀹藉害锛岃�屼笉鏄�0
+      min-width: 64px; // 淇濇寔鏈�灏忓搴�
+      transform: translateX(0); // 绉婚櫎骞崇Щ
+
+      // 鎶樺彔鐘舵�佷笅闅愯棌姝ラ鍐呭锛屽彧鏄剧ず鏍囬鍜屾寜閽�
+      .postfilx > div:last-child {
+        opacity: 0;
+        visibility: hidden;
+        pointer-events: none; // 绂佺敤浜や簰
+      }
+
+      .title {
+        padding: 15px 5px; // 璋冩暣鍐呰竟璺濋�傚簲绐勫搴�
+
+        .collapse-btn {
+          margin: 0 auto; // 鎸夐挳灞呬腑
+        }
+      }
+    }
 
     .postfilx {
-      width: 15vw;
-      text-align: center;
-      margin: 20px 10px;
-      padding: 10px;
-      margin-top: 0;
-      // z-index: 999;
-      // position: -webkit-sticky;
-      // position: fixed;
-      // top: 50;
-    }
-
-    .title {
-      background: #22a2c3;
-      margin-bottom: 20px;
-      padding: 10px 0;
-      color: #fff;
-    }
-  }
-}
-
-.upload-demo {
-  text-align: center;
-}
-
-.pdfimg {
-  display: flex; // text-align: center;
-  width: 100%;
-  height: 600px;
-
-  .box-pdf {
-    width: 400px;
-    margin-right: 30px;
-    border: 1px solid #dcdfe6;
-    -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12),
-      0 0 6px 0 rgba(0, 0, 0, 0.04);
-    box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.1); // <- Add this to fix.
-  }
-
-  .pdftit {
-    width: 200px;
-    padding: 20px;
-    font-size: 18px;
-  }
-
-  .pdftit:hover {
-    background: #c0cef7;
-  }
-
-  .pdfimgmin {
-    width: 60%;
-
-    img {
       width: 100%;
+      height: 100%;
+      padding: 0;
+      margin: 0;
+      display: flex;
+      flex-direction: column;
+
+      .title {
+        background: #22a2c3;
+        margin-bottom: 0;
+        padding: 15px 10px;
+        color: #fff;
+        font-size: 16px;
+        font-weight: 600;
+        display: flex;
+        justify-content: space-between;
+        align-items: center;
+        position: relative;
+        transition: all 0.3s ease;
+        min-height: 54px; // 纭繚鏍囬鍖哄煙鏈夊浐瀹氶珮搴�
+        box-sizing: border-box;
+
+        .collapse-btn {
+          background: rgba(255, 255, 255, 0.2);
+          border: none;
+          color: #fff;
+          width: 32px; // 绋嶅井澧炲ぇ纭繚鍙偣鍑诲尯鍩�
+          height: 32px;
+          padding: 0;
+          border-radius: 4px;
+          display: flex;
+          align-items: center;
+          justify-content: center;
+          transition: all 0.3s ease;
+          flex-shrink: 0; // 闃叉鎸夐挳琚帇缂�
+
+          &:hover {
+            background: rgba(255, 255, 255, 0.3);
+            transform: scale(1.1);
+          }
+
+          // 纭繚鍥炬爣灞呬腑鏄剧ず
+          .el-icon {
+            margin: 0;
+          }
+        }
+
+        // 鎶樺彔鐘舵�佷笅璋冩暣鏍囬鏂囧瓧
+
+      }
+
+      // 鎶樺彔鐘舵�佷笅闅愯棌瀹屾暣鏍囬鏂囧瓧
+      &.left-collapsed .title {
+        &:after {
+          opacity: 0;
+        }
+      }
+
+      > div:last-child {
+        flex: 1;
+        overflow-y: auto;
+        padding: 20px 15px;
+        transition: all 0.3s ease;
+      }
     }
   }
-
-  .pdfimgmins {
-    font-size: 28px;
-    width: 60%;
-    text-align: center;
-  }
-}
-
-.Ticket-button {
-  margin-top: 10px;
+.Ticket-button{
   text-align: right;
-  padding-right: 66px;
+  margin-right: 50px;
 }
+  // 鍙充晶鍐呭鍖哄煙
+  .right-content {
+    flex: 1;
+    background: #fff;
+    transition: all 0.3s ease;
+    overflow-y: auto;
+    margin: 0;
 
-.boxdiv {
-  max-width: 85vw;
-  font-size: 18px;
-  padding: 0 30px;
-  padding-bottom: 10px;
-  margin-top: 10px;
+    &.right-expanded {
+      margin-left: 0;
+    }
 
-  .top-text {
-    text-align: center;
-    font-size: 23px;
-    font-weight: 600;
-    margin: 20px 0;
-    margin-bottom: 30px;
+    .boxdiv {
+      width: 100%;
+      max-width: none;
+      font-size: 18px;
+      padding: 0 30px;
+      padding-bottom: 20px;
+      margin-top: 0;
+
+      .top-text {
+        text-align: center;
+        font-size: 23px;
+        font-weight: 600;
+        margin: 20px 0;
+        margin-bottom: 30px;
+        padding-top: 20px;
+      }
+    }
   }
 }
 
-::v-deep .el-step__head.is-finish {
-  color: #22a2c3;
-  border-color: #22a2c3;
+// 姝ラ鏍峰紡浼樺寲
+::v-deep .el-steps {
+  &.el-steps--vertical {
+    height: 100%;
+
+    .el-step {
+      margin-bottom: 15px;
+
+      .el-step__head {
+        &.is-finish {
+          color: #22a2c3;
+          border-color: #22a2c3;
+        }
+      }
+
+      .el-step__title {
+        font-size: 14px;
+        font-weight: 600;
+
+        &.is-finish {
+          color: #22a2c3;
+        }
+      }
+
+      .el-step__description {
+        font-size: 12px;
+        color: #666;
+        line-height: 1.5;
+
+        &.is-finish {
+          color: #22a2c3;
+        }
+
+        p {
+          margin: 4px 0;
+        }
+      }
+    }
+  }
 }
 
-::v-deep .el-step__title.is-finish {
-  color: #22a2c3;
+// 鍝嶅簲寮忚璁�
+@media (max-width: 768px) {
+  .particularsdiv {
+    flex-direction: column;
+
+    .left-course {
+      width: 100%;
+      height: auto;
+      max-height: 300px;
+
+      &.left-collapsed {
+        width: 100%; // 绉诲姩绔繚鎸佸叏瀹�
+        min-width: 100%;
+        height: 60px; // 鍙樉绀烘爣棰樻爮楂樺害
+        max-height: 60px;
+
+        .postfilx > div:last-child {
+          display: none; // 瀹屽叏闅愯棌鍐呭鑰屼笉鏄�忔槑
+        }
+      }
+
+      .postfilx {
+        .title {
+          .collapse-btn {
+            transform: rotate(0deg); // 淇濇寔姝e父鏂瑰悜
+          }
+        }
+      }
+    }
+
+    .right-content {
+      margin-left: 0;
+    }
+  }
 }
 
-::v-deep .el-step__description.is-finish {
-  color: #22a2c3;
+// 婊氬姩鏉℃牱寮忎紭鍖�
+.left-course ::-webkit-scrollbar {
+  width: 4px;
 }
 
-:v-deep .el-select {
-  display: inline-block;
-  position: relative;
-  width: 80%;
+.left-course ::-webkit-scrollbar-track {
+  background: #f1f1f1;
 }
-:v-deep .el-tabs__nav-scroll {
-  overflow: auto;
+
+.left-course ::-webkit-scrollbar-thumb {
+  background: #c1c1c1;
+  border-radius: 2px;
+}
+
+.left-course ::-webkit-scrollbar-thumb:hover {
+  background: #a8a8a8;
 }
 </style>

--
Gitblit v1.9.3