From c8e9849cb5f24848df0174c13bfbbff37bb08a5a Mon Sep 17 00:00:00 2001
From: WXL <wl_5969728@163.com>
Date: 星期二, 21 七月 2026 15:45:30 +0800
Subject: [PATCH] 维护

---
 src/views/project/donatebaseinfo/index.vue |  164 ++++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 122 insertions(+), 42 deletions(-)

diff --git a/src/views/project/donatebaseinfo/index.vue b/src/views/project/donatebaseinfo/index.vue
index 96ceb21..7fd434e 100644
--- a/src/views/project/donatebaseinfo/index.vue
+++ b/src/views/project/donatebaseinfo/index.vue
@@ -10,7 +10,7 @@
     >
       <el-row :gutter="8">
         <el-col :span="5">
-          <el-form-item label="鎹愮尞鑰呭鍚�" prop="name">
+          <el-form-item label="濮撳悕" prop="name">
             <el-input
               v-model="queryParams.name"
               placeholder="璇疯緭鍏ュ鍚�"
@@ -21,7 +21,7 @@
           </el-form-item>
         </el-col>
         <el-col :span="5">
-          <el-form-item label="棣栬瘖鍖婚櫌" prop="treatmenthospitalname">
+          <el-form-item label="鎶ュ憡鍖婚櫌" prop="treatmenthospitalname">
             <org-selecter
               ref="orgSelecter"
               :org-type="'3'"
@@ -30,7 +30,7 @@
           </el-form-item>
         </el-col>
         <el-col :span="9">
-          <el-form-item label="涓婃姤鏃堕棿">
+          <el-form-item label="鎶ュ憡鏃堕棿">
             <el-date-picker
               style="width: 100%"
               v-model="selecttime"
@@ -89,23 +89,37 @@
       border
       :default-sort="{ prop: 'donatetime', order: 'descending' }"
     >
+      <el-table-column label="濮撳悕" align="center" prop="name" width="100" />
+
       <el-table-column
-        label="妗堜緥鏃堕棿"
-        align="center"
-        prop="donatetime"
-        width="100"
-      >
-        <template slot-scope="scope">
-          <span>{{ parseTime(scope.row.donatetime, "{y}-{m}-{d}") }}</span>
-        </template>
-      </el-table-column>
-      <el-table-column
-        label="妗堜緥缂栧彿"
+        label="鎹愮尞缂栧彿"
         align="center"
         prop="caseNo"
         width="200"
       />
-      <el-table-column label="鎹愮尞鑰呭鍚�" align="center" prop="name" width="100" />
+      <el-table-column
+        label="浣忛櫌鍙�"
+        align="center"
+        prop="inpatientno"
+        width="200"
+      />
+      <el-table-column
+        label="鎹愮尞杩涘害"
+        align="center"
+        prop="workflow"
+        width="120"
+      >
+        <template slot-scope="scope">
+          <div v-if="!scope.row.terminationCase">
+            <dict-tag
+              :options="dict.type.sys_donornode"
+              :value="scope.row.workflow"
+            />
+          </div>
+          <div v-else><el-button type="danger" plain>浠诲姟缁堟</el-button></div>
+        </template>
+      </el-table-column>
+
       <el-table-column label="鎬у埆" align="center" prop="sex" width="100">
         <template slot-scope="scope">
           <dict-tag
@@ -129,12 +143,12 @@
           }}
         </template>
       </el-table-column>
-      <el-table-column
-        label="棣栬瘖鍖婚櫌"
+      <!-- <el-table-column
+        label="GCS璇勫垎"
         align="center"
-        prop="treatmenthospitalname"
-      />
-      <el-table-column label="GCS璇勫垎" align="center" prop="gcsScore" />
+        prop="gcsScore"
+        width="100"
+      /> -->
       <el-table-column label="琛�鍨�" align="center" prop="bloodtype" width="100">
         <template slot-scope="scope">
           <dict-tag
@@ -156,31 +170,33 @@
           />
         </template>
       </el-table-column>
+      <el-table-column label="浼犳煋鐥�" align="center" prop="infectious">
+        <template slot-scope="scope">
+          <span v-for="item in scope.row.infectious.split(',')"
+            ><dict-tag :options="dict.type.sys_Infectious" :value="item" />
+          </span>
+        </template>
+      </el-table-column>
+      <el-table-column label="鐤剧梾璇婃柇" align="center" prop="diagnosisname" />
       <el-table-column
-        label="鎶ュ憡浜�"
+        label="鍗忚皟鍛�"
         align="center"
-        prop="reportername"
+        prop="coordinatorName"
         width="100"
       />
       <el-table-column
-        label="鎹愮尞杩涘害"
+        label="涓婃姤鏃堕棿"
         align="center"
-        prop="workflow"
-        width="120"
+        prop="donatetime"
+        width="100"
       >
         <template slot-scope="scope">
-          <div v-if="!scope.row.terminationCase">
-            <dict-tag
-              :options="dict.type.sys_donornode"
-              :value="scope.row.workflow"
-            />
-          </div>
-          <div v-else><el-button type="danger" plain>浠诲姟缁堟</el-button></div>
+          <span>{{ parseTime(scope.row.donatetime, "{y}-{m}-{d}") }}</span>
         </template>
       </el-table-column>
       <el-table-column
         label="鎿嶄綔"
-        width="190"
+        width="220"
         align="center"
         class-name="small-padding fixed-width"
         fixed="right"
@@ -195,31 +211,47 @@
           >
             璇︽儏
           </el-button>
+
           <el-button
             size="mini"
             type="text"
             icon="el-icon-edit"
             @click="handleOpenEdit(scope.row)"
             v-hasPermi="['project:donatebaseinfo:edit']"
-            >缂栬緫</el-button
+            v-if="scope.row.recordstate !== '4'"
           >
+            缂栬緫
+          </el-button>
+
+          <!-- 鉁� 鏂板锛氬綊妗f寜閽� -->
+          <el-button
+            size="mini"
+            type="text"
+            style="color:#E6A23C;"
+            @click="handleArchive(scope.row)"
+            v-if="scope.row.recordstate !== '4'"
+          >
+            褰掓。
+          </el-button>
+
           <el-button
             size="mini"
             type="text"
             style="color: #f56c6c;"
             @click="handleTerminate(scope.row)"
             v-if="
-              scope.row.terminationCase === 0 && scope.row.recordstate !== '99'
+              scope.row.terminationCase == 0 && scope.row.recordstate !== '99'
             "
           >
             缁堟
           </el-button>
+
           <el-button
             size="mini"
             type="text"
             style="color: #67c23a;"
             @click="handleRestore(scope.row)"
-            v-if="scope.row.terminationCase === 1"
+            v-if="scope.row.terminationCase == 1"
           >
             鎭㈠
           </el-button>
@@ -261,7 +293,8 @@
 import {
   listDonatebaseinfo,
   addDonatebaseinfo,
-  exportDonatebaseinfo
+  exportDonatebaseinfo,
+  updateDonatebaseinfo
 } from "@/api/project/donatebaseinfo";
 import Li_area_select from "@/components/Address";
 import OrgSelecter from "@/views/project/components/orgselect";
@@ -278,6 +311,7 @@
   dicts: [
     "sys_user_sex",
     "sys_BloodType",
+    "sys_Infectious",
     "sys_DonationCategory",
     "sys_donornode"
   ],
@@ -345,7 +379,7 @@
           { required: true, message: "璇烽�夋嫨鍑虹敓鏃ユ湡", trigger: "blur" }
         ],
         treatmenthospitalno: [
-          { required: true, message: "璇烽�夋嫨棣栬瘖鍖婚櫌", trigger: "blur" }
+          { required: true, message: "璇烽�夋嫨涓婃姤鍖婚櫌", trigger: "blur" }
         ],
         bloodtype: [
           { required: true, message: "璇烽�夋嫨ABO琛�鍨�", trigger: "blur" }
@@ -446,7 +480,52 @@
       this.currentRecord = { ...row };
       this.modalVisible = { ...this.modalVisible, restore: true };
     },
+    /** 褰掓。 */
+    handleArchive(row) {
+      this.$confirm("纭灏嗚妗堜緥褰掓。锛熷綊妗e悗灏嗕笉鍙紪杈戙��", "鎻愮ず", {
+        confirmButtonText: "纭畾",
+        cancelButtonText: "鍙栨秷",
+        type: "warning"
+      })
+        .then(async () => {
+          try {
+            const res = await updateDonatebaseinfo({
+              id: row.id,
+              recordstate: "4",
+              filingtime: this.getCurrentTime()
+            });
 
+            if (res.code === 200) {
+              this.$modal.msgSuccess("褰掓。鎴愬姛");
+              this.getList();
+            } else {
+              this.$modal.msgError(res.msg || "褰掓。澶辫触");
+            }
+          } catch (err) {
+            this.$modal.msgError("鎿嶄綔澶辫触");
+          }
+        })
+        .catch(() => {});
+    },
+    // 鑾峰彇褰撳墠鏃堕棿
+    getCurrentTime() {
+      const now = new Date();
+      return `${now.getFullYear()}-${(now.getMonth() + 1)
+        .toString()
+        .padStart(2, "0")}-${now
+        .getDate()
+        .toString()
+        .padStart(2, "0")} ${now
+        .getHours()
+        .toString()
+        .padStart(2, "0")}:${now
+        .getMinutes()
+        .toString()
+        .padStart(2, "0")}:${now
+        .getSeconds()
+        .toString()
+        .padStart(2, "0")}`;
+    },
     getTimeList() {
       if (!this.selecttime) {
         // this.queryParams.starttime = "1998-01-01 00:00:00";
@@ -532,12 +611,13 @@
         this.loading = false;
       }
     },
-    /** 鎵撳紑缂栬緫寮圭獥 */
     handleOpenEdit(row) {
-      // 纭繚鍦ㄦ墦寮�寮规鍓嶉噸缃甤urrentEditData
-      this.currentEditData = {};
+      if (row.recordstate === "4") {
+        this.$modal.msgWarning("褰掓。妗堜緥涓嶅彲缂栬緫");
+        return;
+      }
 
-      // 浣跨敤$nextTick纭繚DOM鏇存柊瀹屾垚
+      this.currentEditData = {};
       this.$nextTick(() => {
         this.currentEditData = { ...row };
         this.editModalVisible = true;

--
Gitblit v1.9.3