From 130c07e1f004abfca41718ad58f3d9bb66dcc450 Mon Sep 17 00:00:00 2001
From: WXL <wl_5969728@163.com>
Date: 星期二, 02 十二月 2025 09:29:03 +0800
Subject: [PATCH] 档案维护

---
 src/views/project/donationdetails/index.vue |  359 ++++++++++++++++++++++++++++++++++-------------------------
 1 files changed, 209 insertions(+), 150 deletions(-)

diff --git a/src/views/project/donationdetails/index.vue b/src/views/project/donationdetails/index.vue
index 78587ba..b2f8635 100644
--- a/src/views/project/donationdetails/index.vue
+++ b/src/views/project/donationdetails/index.vue
@@ -184,6 +184,7 @@
                     ref="getReportname"
                     v-model="form.reporterno"
                     placeholder="璇烽�夋嫨"
+                    filterable
                   >
                     <el-option
                       v-for="item in reporters"
@@ -444,7 +445,7 @@
             </el-col>
             <el-col :span="10">
               <el-form-item
-                label-width="130px"
+                label-width="150px"
                 label="鎵�鍦ㄥ尰鐤楁満鏋勭瀹�"
                 prop="currentDept"
               >
@@ -463,7 +464,7 @@
             </el-col>
             <el-col :span="10">
               <el-form-item
-                label-width="130px"
+                label-width="150px"
                 label="棣栨鍖荤枟鏈烘瀯绉戝"
                 prop="firstDept"
               >
@@ -640,7 +641,7 @@
           </el-row>
           <el-row>
             <el-col :span="24">
-              <el-form-item align="left" label="鏈汉鎰忔効 ">
+              <el-form-item align="left" label="鏈汉鎰忔効 " prop="selfwill">
                 <el-checkbox-group v-model="form.selfwill">
                   <el-checkbox
                     v-for="dict in dict.type.sys_SelfWill || []"
@@ -959,6 +960,7 @@
                 align="left"
               >
                 <el-select
+                  filterable
                   v-model="medicineform.coreteamassessconclusion"
                   placeholder="璇烽�夋嫨鏍稿績鎴愬憳缁撹"
                 >
@@ -1022,7 +1024,11 @@
           <el-row>
             <el-col :span="6">
               <el-form-item label="鎹愯禒鑰呮皯鏃�" prop="nation">
-                <el-select v-model="affirmform.nation" placeholder="璇烽�夋嫨姘戞棌">
+                <el-select
+                  filterable
+                  v-model="affirmform.nation"
+                  placeholder="璇烽�夋嫨姘戞棌"
+                >
                   <el-option
                     v-for="dict in dict.type.sys_nation || []"
                     :key="dict.value"
@@ -1050,6 +1056,7 @@
             <el-col :span="6">
               <el-form-item label="鎹愯禒鑰呰亴涓�" prop="occupation">
                 <el-select
+                  filterable
                   v-model="affirmform.occupation"
                   placeholder="璇烽�夋嫨鑱屼笟"
                 >
@@ -1212,6 +1219,7 @@
             <el-col :span="6">
               <el-form-item label="璐熻矗浜�" prop="responsibleuserid">
                 <el-select
+                  filterable
                   v-model="affirmform.responsibleuserid"
                   placeholder="璇烽�夋嫨"
                 >
@@ -1230,6 +1238,7 @@
                 <el-select
                   v-model="affirmform.coordinateduserido"
                   placeholder="璇烽�夋嫨"
+                  filterable
                 >
                   <el-option
                     v-for="item in coordinatorlist1"
@@ -1246,6 +1255,7 @@
                 <el-select
                   v-model="affirmform.coordinateduseridt"
                   placeholder="璇烽�夋嫨"
+                  filterable
                 >
                   <el-option
                     v-for="item in coordinatorlist1"
@@ -1707,159 +1717,168 @@
                   clearable
                   v-model="witnessform.coordinatorSignTime"
                   type="datetime"
-                  value-format="yyyy-MM-dd"
+                  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="abdominalaortacannulatime"
-              >
-                <el-date-picker
-                  clearable
-                  v-model="witnessform.abdominalaortacannulatime"
-                  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="abdominalaortaperfusiontime"
-              >
-                <el-date-picker
-                  clearable
-                  v-model="witnessform.abdominalaortaperfusiontime"
-                  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="portalveincannulatime"
-              >
-                <el-date-picker
-                  clearable
-                  v-model="witnessform.portalveincannulatime"
-                  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="portalveinperfusiontime"
-              >
-                <el-date-picker
-                  clearable
-                  v-model="witnessform.portalveinperfusiontime"
-                  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-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
+                    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>
-              </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.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>
-              </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.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>
-              </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.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>
-              </el-form-item>
-            </el-col>
-          </el-row>
+                  <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 sysOrganlistL"
+                    v-for="dict in dict.type.sys_Organ || []"
                     :key="dict.value"
                     :label="dict.value"
                     @change="changeorganprocured(dict.value)"
@@ -1919,6 +1938,26 @@
                     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
+                    v-if="organgettimetrue"
+                    label="鍣ㄥ畼绂讳綋鏃堕棿"
+                    align="center"
+                    width="200"
                     prop="organgettime"
                   >
                     <template slot-scope="scope">
@@ -1929,11 +1968,12 @@
                         v-model="scope.row.organgettime"
                         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"
@@ -1987,6 +2027,7 @@
                       <el-select
                         v-model="scope.row.organstate"
                         placeholder="璇烽�夋嫨鍣ㄥ畼鐘舵��"
+                        filterable
                       >
                         <el-option
                           v-for="dict in organstatelist"
@@ -2060,6 +2101,7 @@
                 <el-select
                   v-model="witnessform.coordinateduserido"
                   placeholder="璇烽�夋嫨"
+                  filterable
                 >
                   <el-option
                     v-for="item in coordinatorlist1"
@@ -2076,6 +2118,7 @@
                 <el-select
                   v-model="witnessform.coordinateduseridt"
                   placeholder="璇烽�夋嫨"
+                  filterable
                 >
                   <el-option
                     v-for="item in coordinatorlist1"
@@ -2246,6 +2289,7 @@
                       <el-select
                         v-model="scope.row.transplantstate"
                         placeholder="璇烽�夋嫨鍣ㄥ畼鐘舵��"
+                        filterable
                       >
                         <el-option
                           v-for="dict in transplantstatelist"
@@ -2302,6 +2346,7 @@
                 <el-select
                   v-model="accomplishform.responsibleuserid"
                   placeholder="璇烽�夋嫨"
+                  filterable
                 >
                   <el-option
                     v-for="item in leaderlist"
@@ -2318,6 +2363,7 @@
                 <el-select
                   v-model="accomplishform.coordinateduserido"
                   placeholder="璇烽�夋嫨"
+                  filterable
                 >
                   <el-option
                     v-for="item in coordinatorlist1"
@@ -2334,6 +2380,7 @@
                 <el-select
                   v-model="accomplishform.coordinateduseridt"
                   placeholder="璇烽�夋嫨"
+                  filterable
                 >
                   <el-option
                     v-for="item in coordinatorlist1"
@@ -2754,6 +2801,7 @@
       kinshiplist: ["閰嶅伓", "鐖朵翰", "姣嶄翰", "瀛愬コ", "鍙楁墭浜�"],
       organselection: [
         "鑲濊剰",
+        "鍙岃偩",
         "宸﹁偩",
         "鍙宠偩",
         "蹇冭剰",
@@ -2792,6 +2840,7 @@
       allocateddata: [],
       allocateddataform: {},
       procureddata: [],
+      organgettimetrue: false,
       transplantdata: [],
       sysOrganlistL: [
         { label: "蹇冭剰", value: "C38" },
@@ -2900,6 +2949,12 @@
         ],
         majorrelatives: [
           { required: true, message: "璇疯緭鍏ヤ富瑕佷翰灞�", trigger: "blur" }
+        ],
+        selfwill: [
+          { required: true, message: "璇烽�夋嫨鏈汉鎰忔効", trigger: "blur" }
+        ],
+        registerAddresss: [
+          { required: true, message: "璇疯緭鍏ョ幇鎵�鍦ㄥ湴", trigger: "blur" }
         ],
         familyrelations: [
           { required: true, message: "璇烽�夋嫨浜插睘涓庢崘鐚�呭叧绯�", trigger: "blur" }
@@ -3052,11 +3107,14 @@
     // 鐩戝惉 procureddata 鐨勫彉鍖栵紝鏁版嵁鏇存柊鍚庨噸鏂版帓搴�
     procureddata: {
       handler(newVal) {
+        if (this.procureddata[0].organgettime) {
+          this.organgettimetrue = true;
+        }
         if (this.isSorting) {
           return;
         }
         this.customOrganSort();
-      },
+      }
       // deep: true // 娣卞害鐩戝惉锛屽洜涓烘暟缁勫唴瀹瑰彲鑳藉彉鍖�
     },
     allocateddata: {
@@ -3065,17 +3123,17 @@
           return;
         }
         this.allocateddataSort();
-      },
+      }
       // deep: true // 娣卞害鐩戝惉锛屽洜涓烘暟缁勫唴瀹瑰彲鑳藉彉鍖�
     }
   },
 
   methods: {
     loadRowData(row, treeNode, resolve) {
-    // 鍙湁褰撹灞曞紑鎴栭渶瑕佹椂鎵嶅畬鏁存覆鏌撳唴閮ㄧ粍浠�
-    this.$set(row, 'loaded', true)
-    resolve()
-  },
+      // 鍙湁褰撹灞曞紑鎴栭渶瑕佹椂鎵嶅畬鏁存覆鏌撳唴閮ㄧ粍浠�
+      this.$set(row, "loaded", true);
+      resolve();
+    },
     // 鑾峰彇涓昏〃鍙婇檮灞炴暟鎹�
     Getbasicinformation() {
       // 宸︿晶娴佺▼鏁版嵁
@@ -3163,7 +3221,9 @@
           if (response.code == 200 && response.rows[0]) {
             this.affirmform = response.rows[0];
             if (this.affirmform.organdecision) {
-              this.organdecision = this.affirmform.organdecision.split(",").flatMap(item => item === "鍙岃偩鑴�" ? ["宸﹁偩", "鍙宠偩"] : item);;
+              this.organdecision = this.affirmform.organdecision
+                .split(",")
+                .flatMap(item => (item === "鍙岃偩鑴�" ? ["宸﹁偩", "鍙宠偩"] : item));
             }
             if (this.affirmform.kinship) {
               this.kinship = this.affirmform.kinship.split(",");
@@ -3430,9 +3490,8 @@
               }
             });
           }
-        }else{
-                this.$modal.msgError("鍓嶉儴姝ラ琛ㄥ崟淇℃伅鏈夌己婕忚鎺掓煡鍚庨噸鏂颁繚瀛�");
-
+        } else {
+          this.$modal.msgError("鍓嶉儴娼滃湪鎹愮尞琛ㄥ崟淇℃伅鏈夌己婕忚鎺掓煡鍚庨噸鏂颁繚瀛�");
         }
       });
     },
@@ -3706,7 +3765,7 @@
       this.procureddata = [...this.procureddata];
       this.$nextTick(() => {
         this.isSorting = false;
-      this.loading = false;
+        this.loading = false;
       });
     },
     allocateddataSort() {

--
Gitblit v1.9.3