From c4599aa279fd2f90b741608392e056fbae2282d5 Mon Sep 17 00:00:00 2001
From: WXL <wl_5969728@163.com>
Date: 星期四, 20 八月 2026 17:16:54 +0800
Subject: [PATCH] 各表单布局调整

---
 src/views/business/transfer/TransportEdit.vue |  430 +++++++++++++++++++++++++++++++----------------------
 1 files changed, 251 insertions(+), 179 deletions(-)

diff --git a/src/views/business/transfer/TransportEdit.vue b/src/views/business/transfer/TransportEdit.vue
index bae6f58..b334b74 100644
--- a/src/views/business/transfer/TransportEdit.vue
+++ b/src/views/business/transfer/TransportEdit.vue
@@ -47,9 +47,10 @@
       :model="formData"
       :rules="formRules"
       label-width="120px"
+      class="paper-form"
     >
       <!-- 鍩虹淇℃伅 -->
-      <el-card class="form-section" shadow="never">
+      <el-card class="form-section paper-card" shadow="never">
         <div slot="header" class="section-header">
           <i
             class="el-icon-document"
@@ -58,70 +59,60 @@
           <span>鍩虹淇℃伅</span>
         </div>
 
-        <el-row :gutter="20">
-          <el-col :span="12">
-            <el-form-item label="妗堜緥缂栧彿" prop="caseNo">
-              <el-input
-                v-model="formData.caseNo"
-                :disabled="true"
-                placeholder="鑷姩浠庢渚嬭幏鍙�"
-              />
-            </el-form-item>
-          </el-col>
-        </el-row>
+        <div class="form-row">
+          <el-form-item label="妗堜緥缂栧彿" prop="caseNo" class="col-half">
+            <el-input
+              v-model="formData.caseNo"
+              :disabled="true"
+              placeholder="鑷姩浠庢渚嬭幏鍙�"
+            />
+          </el-form-item>
+        </div>
 
-        <el-row :gutter="20">
-          <el-col :span="12">
-            <el-form-item label="鎮h�呭鍚�" prop="patName">
-              <el-input
-                v-model="formData.patName"
-                :disabled="true"
-                placeholder="鑷姩浠庢渚嬭幏鍙�"
-              />
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="鎬у埆" prop="sex">
-              <el-select
-                v-model="formData.sex"
-                :disabled="true"
-                placeholder="璇烽�夋嫨鎬у埆"
-                style="width: 100%"
-              >
-                <el-option label="鐢�" value="1" />
-                <el-option label="濂�" value="2" />
-              </el-select>
-            </el-form-item>
-          </el-col>
-        </el-row>
+        <div class="form-row">
+          <el-form-item label="鎮h�呭鍚�" prop="patName" class="col-half">
+            <el-input
+              v-model="formData.patName"
+              :disabled="true"
+              placeholder="鑷姩浠庢渚嬭幏鍙�"
+            />
+          </el-form-item>
+          <el-form-item label="鎬у埆" prop="sex" class="col-half">
+            <el-select
+              v-model="formData.sex"
+              :disabled="true"
+              placeholder="璇烽�夋嫨鎬у埆"
+              style="width: 100%"
+            >
+              <el-option label="鐢�" value="1" />
+              <el-option label="濂�" value="2" />
+            </el-select>
+          </el-form-item>
+        </div>
 
-        <el-row :gutter="20">
-          <el-col :span="12">
-            <el-form-item label="骞撮緞" prop="age">
-              <el-input-number
-                v-model="formData.age"
-                :min="0"
-                :max="120"
-                :disabled="true"
-                placeholder="鑷姩浠庢渚嬭幏鍙�"
-                style="width: 100%"
-              />
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="鐤剧梾璇婃柇" prop="diagnosisname">
-              <el-input
-                v-model="formData.diagnosisname"
-                :disabled="true"
-                placeholder="鑷姩浠庢渚嬭幏鍙�"
-              />
-            </el-form-item>
-          </el-col>
-        </el-row>
+        <div class="form-row">
+          <el-form-item label="骞撮緞" prop="age" class="col-half">
+            <el-input-number
+              v-model="formData.age"
+              :min="0"
+              :max="120"
+              :disabled="true"
+              placeholder="鑷姩浠庢渚嬭幏鍙�"
+              style="width: 100%"
+            />
+          </el-form-item>
+          <el-form-item label="鐤剧梾璇婃柇" prop="diagnosisname" class="col-half">
+            <el-input
+              v-model="formData.diagnosisname"
+              :disabled="true"
+              placeholder="鑷姩浠庢渚嬭幏鍙�"
+            />
+          </el-form-item>
+        </div>
       </el-card>
 
       <!-- 鍖婚櫌淇℃伅 -->
-      <el-card class="form-section" shadow="never">
+      <el-card class="form-section paper-card" shadow="never">
         <div slot="header" class="section-header">
           <i
             class="el-icon-office-building"
@@ -130,29 +121,39 @@
           <span>鍖婚櫌淇℃伅</span>
         </div>
 
-        <el-row :gutter="20">
-          <el-col :span="12">
-            <el-form-item label="娌荤枟鍖婚櫌" prop="treatmentHospitalName">
-              <el-input
-                v-model="formData.treatmentHospitalName"
-                :disabled="true"
-                placeholder="鑷姩浠庢渚嬭幏鍙�"
-              />
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="娌荤枟绉戝" prop="treatmentDeptName">
-              <el-input
-                v-model="formData.treatmentDeptName"
-                placeholder="璇疯緭鍏ユ不鐤楃瀹ゅ悕绉�"
-              />
-            </el-form-item>
-          </el-col>
-        </el-row>
+        <div class="form-row">
+          <el-form-item label="娌荤枟鍖婚櫌" prop="treatmentHospitalName" class="col-half">
+            <el-input
+              v-model="formData.treatmentHospitalName"
+              :disabled="true"
+              placeholder="鑷姩浠庢渚嬭幏鍙�"
+            />
+          </el-form-item>
+          <el-form-item label="娌荤枟绉戝" prop="treatmentDeptName" class="col-half">
+            <el-input
+              v-model="formData.treatmentDeptName"
+              placeholder="璇疯緭鍏ユ不鐤楃瀹ゅ悕绉�"
+            />
+          </el-form-item>
+        </div>
+        <div class="form-row">
+          <el-form-item label="ICU璇勪及鍖荤敓" prop="icuDoctor" class="col-half">
+            <el-input
+              v-model="formData.icuDoctor"
+              placeholder="璇疯緭鍏CU璇勪及鍖荤敓"
+            />
+          </el-form-item>
+          <el-form-item label="ICU鍖荤敓鐢佃瘽" prop="icuDoctorPhone" class="col-half">
+            <el-input
+              v-model="formData.icuDoctorPhone"
+              placeholder="璇疯緭鍏CU鍖荤敓鎵嬫満鍙�"
+            />
+          </el-form-item>
+        </div>
       </el-card>
 
       <!-- 杞繍淇℃伅 -->
-      <el-card class="form-section" shadow="never">
+      <el-card class="form-section paper-card" shadow="never">
         <div slot="header" class="section-header">
           <i
             class="el-icon-location-information"
@@ -161,30 +162,26 @@
           <span>杞繍淇℃伅</span>
         </div>
 
-        <el-row :gutter="20">
-          <el-col :span="12">
-            <el-form-item label="鍑哄彂鍦扮偣" prop="transportStartPlace">
-              <el-input
-                v-model="formData.transportStartPlace"
-                placeholder="璇疯緭鍏ュ嚭鍙戝湴鐐�"
-              />
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="鍑哄彂鏃堕棿" prop="transportStartTime">
-              <el-date-picker
-                v-model="formData.transportStartTime"
-                type="datetime"
-                placeholder="閫夋嫨鍑哄彂鏃堕棿"
-                value-format="yyyy-MM-dd HH:mm:ss"
-                style="width: 100%"
-              />
-            </el-form-item>
-          </el-col>
-        </el-row>
+        <div class="form-row">
+          <el-form-item label="鍑哄彂鍦扮偣" prop="transportStartPlace" class="col-half">
+            <el-input
+              v-model="formData.transportStartPlace"
+              placeholder="璇疯緭鍏ュ嚭鍙戝湴鐐�"
+            />
+          </el-form-item>
+          <el-form-item label="鍑哄彂鏃堕棿" prop="transportStartTime" class="col-half">
+            <el-date-picker
+              v-model="formData.transportStartTime"
+              type="datetime"
+              placeholder="閫夋嫨鍑哄彂鏃堕棿"
+              value-format="yyyy-MM-dd HH:mm:ss"
+              style="width: 100%"
+            />
+          </el-form-item>
+        </div>
 
-        <el-row :gutter="20">
-          <el-col :span="12">
+        <div class="form-row">
+          <!-- <el-col :span="12">
             <el-form-item label="杞繍鐘舵��" prop="transitStatus">
               <el-select
                 v-model="formData.transitStatus"
@@ -198,20 +195,18 @@
                 <el-option label="鏆傚瓨" :value="5" />
               </el-select>
             </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="璐熻矗鍗忚皟鍛�" prop="contactPerson">
-              <el-input
-                v-model="formData.contactPerson"
-                placeholder="璇疯緭鍏ュ崗璋冨憳濮撳悕"
-              />
-            </el-form-item>
-          </el-col>
-        </el-row>
+          </el-col> -->
+          <el-form-item label="璐熻矗鍗忚皟鍛�" prop="contactPerson" class="col-half">
+            <el-input
+              v-model="formData.contactPerson"
+              placeholder="璇疯緭鍏ュ崗璋冨憳濮撳悕"
+            />
+          </el-form-item>
+        </div>
       </el-card>
 
       <!-- 鍖绘姢浜哄憳淇℃伅 -->
-      <el-card class="form-section" shadow="never">
+      <el-card class="form-section paper-card" shadow="never">
         <div slot="header" class="section-header">
           <i
             class="el-icon-user"
@@ -220,31 +215,28 @@
           <span>鍖绘姢浜哄憳淇℃伅</span>
         </div>
 
-        <el-row :gutter="20">
-          <el-col :span="12">
-            <el-form-item label="鎬ヨ瘖绉戝尰鐢�" prop="doctor">
-              <el-input
-                v-model="formData.doctor"
-                placeholder="璇疯緭鍏ユ�ヨ瘖绉戝尰鐢�"
-              />
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
+        <div class="form-row">
+          <el-form-item label="杞繍鍖荤敓" prop="doctor" class="col-half">
+            <el-input
+              v-model="formData.doctor"
+              placeholder="璇疯緭鍏ヨ浆杩愬尰鐢�"
+            />
+          </el-form-item>
+          <!-- <el-col :span="12">
             <el-form-item label="鍖荤敓鐢佃瘽" prop="doctorPhone">
               <el-input
                 v-model="formData.doctorPhone"
                 placeholder="璇疯緭鍏ュ尰鐢熸墜鏈哄彿"
               />
             </el-form-item>
-          </el-col>
-        </el-row>
+          </el-col> -->
+          <el-form-item label="杞繍鎶ゅ+" prop="nurse" class="col-half">
+            <el-input v-model="formData.nurse" placeholder="璇疯緭鍏ユ姢澹鍚�" />
+          </el-form-item>
+        </div>
 
-        <el-row :gutter="20">
-          <el-col :span="12">
-            <el-form-item label="鎶ゅ+" prop="nurse">
-              <el-input v-model="formData.nurse" placeholder="璇疯緭鍏ユ姢澹鍚�" />
-            </el-form-item>
-          </el-col>
+        <!-- <el-row :gutter="20">
+
           <el-col :span="12">
             <el-form-item label="鎶ゅ+鐢佃瘽" prop="nursePhone">
               <el-input
@@ -253,45 +245,24 @@
               />
             </el-form-item>
           </el-col>
-        </el-row>
+        </el-row> -->
 
-        <el-row :gutter="20">
-          <el-col :span="12">
-            <el-form-item label="椹鹃┒鍛�" prop="driver">
-              <el-input
-                v-model="formData.driver"
-                placeholder="璇疯緭鍏ラ┚椹跺憳濮撳悕"
-              />
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
+        <div class="form-row">
+          <el-form-item label="杞繍椹鹃┒鍛�" prop="driver" class="col-half">
+            <el-input
+              v-model="formData.driver"
+              placeholder="璇疯緭鍏ラ┚椹跺憳濮撳悕"
+            />
+          </el-form-item>
+          <!-- <el-col :span="12">
             <el-form-item label="椹鹃┒鍛樼數璇�" prop="driverPhone">
               <el-input
                 v-model="formData.driverPhone"
                 placeholder="璇疯緭鍏ラ┚椹跺憳鎵嬫満鍙�"
               />
             </el-form-item>
-          </el-col>
-        </el-row>
-
-        <el-row :gutter="20">
-          <el-col :span="12">
-            <el-form-item label="ICU璇勪及鍖荤敓" prop="icuDoctor">
-              <el-input
-                v-model="formData.icuDoctor"
-                placeholder="璇疯緭鍏CU璇勪及鍖荤敓"
-              />
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="ICU鍖荤敓鐢佃瘽" prop="icuDoctorPhone">
-              <el-input
-                v-model="formData.icuDoctorPhone"
-                placeholder="璇疯緭鍏CU鍖荤敓鎵嬫満鍙�"
-              />
-            </el-form-item>
-          </el-col>
-        </el-row>
+          </el-col> -->
+        </div>
       </el-card>
 
       <!-- 闄勪欢淇℃伅 -->
@@ -390,7 +361,7 @@
       </el-card>
 
       <!-- 澶囨敞淇℃伅 -->
-      <el-card class="form-section" shadow="never">
+      <el-card class="form-section paper-card" shadow="never">
         <div slot="header" class="section-header">
           <i
             class="el-icon-edit"
@@ -398,16 +369,18 @@
           ></i>
           <span>澶囨敞淇℃伅</span>
         </div>
-        <el-form-item prop="remark">
-          <el-input
-            v-model="formData.remark"
-            type="textarea"
-            :rows="4"
-            placeholder="璇疯緭鍏ュ娉ㄤ俊鎭�"
-            maxlength="500"
-            show-word-limit
-          />
-        </el-form-item>
+        <div class="form-row">
+          <el-form-item prop="remark" class="col-full">
+            <el-input
+              v-model="formData.remark"
+              type="textarea"
+              :rows="4"
+              placeholder="璇疯緭鍏ュ娉ㄤ俊鎭�"
+              maxlength="500"
+              show-word-limit
+            />
+          </el-form-item>
+        </div>
       </el-card>
     </el-form>
 
@@ -429,7 +402,13 @@
 </template>
 
 <script>
-import { transportAdd, transportEdit } from "@/api/businessApi/index";
+import {
+  transportAdd,
+  transportEdit,
+  donateInfo,
+  donateList,
+  donateEdit
+} from "@/api/businessApi/index";
 import UploadAttachment from "@/components/UploadAttachment";
 import FilePreviewDialog from "@/components/FilePreviewDialog";
 import dayjs from "dayjs";
@@ -501,7 +480,6 @@
   watch: {
     editOpen(val) {
       if (val) {
-
         if (this.isEdit) {
           // 缂栬緫妯″紡锛屼娇鐢ㄤ紶鍏ョ殑杞繍鍗曟暟鎹�
 
@@ -551,7 +529,7 @@
         transportStartPlace: undefined,
         transportStartTime: undefined,
         contactPerson: undefined,
-        transitStatus: 1,
+        transitStatus: 2,
         doctor: undefined,
         doctorPhone: undefined,
         nurse: undefined,
@@ -572,7 +550,6 @@
 
     /** 鐢ㄦ渚嬫暟鎹~鍏呰〃鍗� */
     fillFormWithCaseData(caseData) {
-
       this.formData = {
         ...this.formData,
         caseNo: caseData.caseNo || "",
@@ -756,6 +733,7 @@
         this.saveLoading = true;
 
         const requestData = { ...this.formData };
+
         let response;
         if (this.isEdit) {
           response = await transportEdit(requestData);
@@ -767,6 +745,16 @@
           this.$message.success(this.isEdit ? "淇敼鎴愬姛" : "鏂板缓鎴愬姛");
           this.handleClose();
           this.$emit("save-success");
+
+          if (requestData.transitStatus == 3) {
+            const resappear = await donateInfo(requestData.reportId);
+            if (resappear.code) {
+              let obj = resappear.data;
+              obj.isDonate = 1;
+              await donateEdit(obj);
+              this.$modal.msgSuccess(`瀵瑰簲涓婃姤妗堜緥宸茶繘鍏ユ寮忔渚嬫祦绋媊);
+            }
+          }
         } else {
           this.$message.error(response.msg || "鎿嶄綔澶辫触");
         }
@@ -842,4 +830,88 @@
 .case-info-card {
   border-left: 4px solid #67c23a;
 }
+
+/* ===== 绾歌川琛ㄦ牸缃戞牸鏍峰紡 ===== */
+.paper-card >>> .el-card__body {
+  padding: 16px;
+}
+
+.paper-form {
+  border-left: 1px solid #d0d3db;
+  background: #fff;
+}
+
+.paper-form >>> .form-row {
+  display: flex;
+  width: 100%;
+  border-top: 1px solid #d0d3db;
+}
+
+.paper-form >>> .el-form-item {
+  flex: 0 0 33.3333%;
+  display: flex;
+  margin: 0;
+  background: #fff;
+  border-right: 1px solid #d0d3db;
+  border-bottom: 1px solid #d0d3db;
+}
+.paper-form >>> .el-form-item::after,
+.paper-form >>> .el-form-item::before {
+  display: none;
+}
+
+.paper-form >>> .col-1-3 { flex: 0 0 33.3333%; }
+.paper-form >>> .col-half { flex: 0 0 50%; }
+.paper-form >>> .col-2-3 { flex: 0 0 66.6666%; }
+.paper-form >>> .col-full { flex: 0 0 100%; }
+
+.paper-form >>> .el-form-item__label {
+  flex: 0 0 120px;
+  width: 120px !important;
+  float: none;
+  padding: 0 8px !important;
+  background: #ecf5ff;
+  border-right: 1px solid #d0d3db;
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  text-align: center;
+  font-size: 13px;
+  font-weight: 600;
+  color: #2c3038;
+  line-height: 1.3;
+  white-space: normal;
+  word-break: break-all;
+}
+.paper-form >>> .el-form-item.is-required:not(.is-no-asterisk) > .el-form-item__label:before {
+  color: #f56c6c;
+  margin-right: 2px;
+}
+
+.paper-form >>> .el-form-item__content {
+  flex: 1;
+  margin-left: 0 !important;
+  display: flex;
+  align-items: center;
+  flex-wrap: wrap;
+  padding: 6px 10px;
+  background: #fff;
+  min-height: 42px;
+  line-height: 1.4;
+}
+
+/* ===== TransportEdit 鐗规畩閫傞厤锛氳〃鍗曞唴鏈夊涓垎鍖� el-card锛屾瘡涓垎鍖哄悇鑷嫭绔嬫垚瀹屾暣缃戞牸 ===== */
+.paper-form {
+  border: none;
+  background: transparent;
+}
+.paper-form >>> .paper-card {
+  border: none;
+  box-shadow: none;
+}
+.paper-form >>> .paper-card >>> .el-card__body {
+  border-top: 1px solid #d0d3db;
+  border-left: 1px solid #d0d3db;
+  background: #fff;
+}
 </style>

--
Gitblit v1.9.3