From dc082351978a1e9f75d7a1471a0ca7ebeac552a5 Mon Sep 17 00:00:00 2001
From: WXL <wl_5969728@163.com>
Date: 星期一, 01 六月 2026 11:07:50 +0800
Subject: [PATCH] opo维护

---
 src/views/project/donatebaseinfo/index.vue |  175 ++++++++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 127 insertions(+), 48 deletions(-)

diff --git a/src/views/project/donatebaseinfo/index.vue b/src/views/project/donatebaseinfo/index.vue
index 6c29d1c..63e3fca 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="鎮h�呭鍚�" 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"
@@ -65,7 +65,6 @@
 
     <!-- 鎿嶄綔鎸夐挳 -->
     <el-row :gutter="10" class="mb8">
-
       <el-col :span="1.5">
         <el-button
           type="warning"
@@ -90,6 +89,7 @@
       border
       :default-sort="{ prop: 'donatetime', order: 'descending' }"
     >
+      <el-table-column label="濮撳悕" align="center" prop="name" width="100" />
       <el-table-column
         label="妗堜緥鏃堕棿"
         align="center"
@@ -101,12 +101,41 @@
         </template>
       </el-table-column>
       <el-table-column
-        label="妗堜緥缂栧彿"
+        label="浣忛櫌鍙�"
         align="center"
-        prop="caseNo"
+        prop="inpatientno"
         width="200"
       />
-      <el-table-column label="濮撳悕" align="center" prop="name" width="100" />
+      <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="donationcategory"
+        width="150"
+      >
+        <template slot-scope="scope">
+          <dict-tag
+            :options="dict.type.sys_DonationCategory"
+            :value="scope.row.donationcategory"
+          />
+        </template>
+      </el-table-column>
+
       <el-table-column label="鎬у埆" align="center" prop="sex" width="100">
         <template slot-scope="scope">
           <dict-tag
@@ -131,11 +160,11 @@
         </template>
       </el-table-column>
       <el-table-column
-        label="棣栬瘖鍖婚櫌"
+        label="GCS璇勫垎"
         align="center"
-        prop="treatmenthospitalname"
+        prop="gcsScore"
+        width="100"
       />
-      <el-table-column label="GSC璇勫垎" align="center" prop="gcsScore" />
       <el-table-column label="琛�鍨�" align="center" prop="bloodtype" width="100">
         <template slot-scope="scope">
           <dict-tag
@@ -144,44 +173,24 @@
           />
         </template>
       </el-table-column>
-      <el-table-column
-        label="鎹愮尞绫诲埆"
-        align="center"
-        prop="donationcategory"
-        width="150"
-      >
+
+      <el-table-column label="浼犳煋鐥�" align="center" prop="infectious">
         <template slot-scope="scope">
-          <dict-tag
-            :options="dict.type.sys_DonationCategory"
-            :value="scope.row.donationcategory"
-          />
+          <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="鎹愮尞杩涘害"
-        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="鎿嶄綔"
-        width="190"
+        width="220"
         align="center"
         class-name="small-padding fixed-width"
         fixed="right"
@@ -196,31 +205,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>
@@ -262,7 +287,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";
@@ -279,6 +305,7 @@
   dicts: [
     "sys_user_sex",
     "sys_BloodType",
+    "sys_Infectious",
     "sys_DonationCategory",
     "sys_donornode"
   ],
@@ -346,7 +373,7 @@
           { required: true, message: "璇烽�夋嫨鍑虹敓鏃ユ湡", trigger: "blur" }
         ],
         treatmenthospitalno: [
-          { required: true, message: "璇烽�夋嫨棣栬瘖鍖婚櫌", trigger: "blur" }
+          { required: true, message: "璇烽�夋嫨涓婃姤鍖婚櫌", trigger: "blur" }
         ],
         bloodtype: [
           { required: true, message: "璇烽�夋嫨ABO琛�鍨�", trigger: "blur" }
@@ -447,7 +474,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";
@@ -533,11 +605,17 @@
         this.loading = false;
       }
     },
-    /** 鎵撳紑缂栬緫寮圭獥 */
     handleOpenEdit(row) {
-      this.currentEditData = { ...row };
-      console.log(this.currentEditData, "this.currentEditData");
-      this.editModalVisible = true;
+      if (row.recordstate === "4") {
+        this.$modal.msgWarning("褰掓。妗堜緥涓嶅彲缂栬緫");
+        return;
+      }
+
+      this.currentEditData = {};
+      this.$nextTick(() => {
+        this.currentEditData = { ...row };
+        this.editModalVisible = true;
+      });
     },
 
     /** 澶勭悊缂栬緫鎴愬姛 */
@@ -549,6 +627,7 @@
     /** 澶勭悊缂栬緫寮圭獥鍏抽棴 */
     handleEditClosed() {
       this.currentEditData = {};
+      this.editModalVisible = false;
     },
 
     handleModalVisibleChange(newVisible) {

--
Gitblit v1.9.3