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/course/components/MedicalAssessmentStage.vue |   72 ++++++++++-------------------------
 1 files changed, 21 insertions(+), 51 deletions(-)

diff --git a/src/views/business/course/components/MedicalAssessmentStage.vue b/src/views/business/course/components/MedicalAssessmentStage.vue
index 3a4c17d..1fe761d 100644
--- a/src/views/business/course/components/MedicalAssessmentStage.vue
+++ b/src/views/business/course/components/MedicalAssessmentStage.vue
@@ -7,17 +7,20 @@
         <span>鍣ㄥ畼璇勪及琛�</span>
       </div>
 
-      <!-- 鎹愮尞鍐冲畾琛ㄥ崟 -->
-      <el-form>
-        <el-form-item label-width="100px" label="鎹愮尞鍐冲畾">
-          <el-checkbox-group v-model="organdecisionValues" @change="handleOrganDecisionChange" :disabled="!isEdit">
-            <el-checkbox v-for="dict in dict.type.sys_Organ" :key="dict.value" :label="dict.value">{{ dict.label }}
-            </el-checkbox>
-          </el-checkbox-group>
-          <el-input v-if="showOtherInput" v-model="organdecisionOther" placeholder="璇疯緭鍏ュ叾浠栨崘鐚喅瀹氱殑鍏蜂綋鍐呭"
-            style="margin-top: 10px; width: 300px;" :readonly="!isEdit" @input="handleOtherDecisionInput"></el-input>
-        </el-form-item>
-      </el-form>
+      <!-- 鎹愮尞鍐冲畾锛堝彧璇诲睍绀猴級 -->
+      <el-descriptions title="鎹愮尞鍐冲畾" :column="descriptionColumn" border size="small">
+        <el-descriptions-item label="鎹愮尞鍐冲畾">
+          <template v-if="organdecisionValues && organdecisionValues.length">
+            <el-tag v-for="(v, i) in organdecisionValues" :key="i" size="small" style="margin-right: 8px;">
+              {{ getOrganLabel(v) }}
+            </el-tag>
+          </template>
+          <template v-else>-</template>
+        </el-descriptions-item>
+        <el-descriptions-item v-if="showOtherInput" label="鍏朵粬鎹愮尞鍐冲畾">
+          {{ organdecisionOther || '-' }}
+        </el-descriptions-item>
+      </el-descriptions>
 
       <!-- 鍣ㄥ畼璇勪及琛ㄦ牸 -->
       <el-table :data="filteredOrganAssessmentList" v-loading="assessmentLoading" style="width: 100%"
@@ -32,29 +35,16 @@
                 <el-tab-pane v-for="(assessment, index) in getOrganAssessments(scope.row)"
                   :key="`${scope.row.organno}_${index}`" :label="`绗�${index + 1}娆¤瘎浼癭" :name="String(index)">
                   <organ-assessment-form :organ-data="scope.row" :assessment-index="index"
-                    :readonly="!canAssessOrgan(scope.row)" :current-user="currentUser"
+                    :readonly="true" :current-user="currentUser"
                     @update-assessment="handleUpdateAssessment" @delete-assessment="handleDeleteAssessment"
                     @save-assessment="handleSaveAssessment" />
-                </el-tab-pane>
-
-                <!-- 娣诲姞璇勪及鎸夐挳 -->
-                <el-tab-pane name="add" v-if="canAssessOrgan(scope.row) && isEdit">
-                  <template slot="label">
-                    <el-button type="text" icon="el-icon-plus" @click.stop="handleAddNewAssessment(scope.row)"
-                      size="mini">
-                      鏂板璇勪及
-                    </el-button>
-                  </template>
-                  <div class="add-assessment-prompt">
-                    <el-empty description="鐐瑰嚮涓婃柟鎸夐挳娣诲姞鏂扮殑璇勪及"></el-empty>
-                  </div>
                 </el-tab-pane>
 
                 <!-- 璇勪及姹囨�籘ab -->
                 <el-tab-pane label="璇勪及姹囨��" name="summary">
                   <div class="assessment-summary">
                     <!-- 鍩烘湰淇℃伅姹囨�� -->
-                    <el-descriptions title="鍩烘湰淇℃伅姹囨��" :column="2" border>
+                    <el-descriptions title="鍩烘湰淇℃伅姹囨��" :column="descriptionColumn" border>
                       <el-descriptions-item label="鍣ㄥ畼绫诲瀷">
                         <span class="summary-item">{{
                           getOrganLabel(scope.row.organno)
@@ -96,7 +86,7 @@
                               </el-tag>
                             </div>
 
-                            <el-descriptions :column="2" border class="detail-descriptions">
+                            <el-descriptions :column="descriptionColumn" border class="detail-descriptions">
                               <!-- 璇勪及鏃堕棿 -->
                               <el-descriptions-item label="璇勪及鏃堕棿" :span="2">
                                 <span class="time-text">
@@ -163,7 +153,7 @@
 
                     <!-- 鍣ㄥ畼鍩烘湰淇℃伅鍗$墖 -->
                     <el-card header="鍣ㄥ畼淇℃伅" style="margin-top: 20px;" class="organ-info-card">
-                      <el-descriptions :column="2" border>
+                      <el-descriptions :column="descriptionColumn" border>
                         <el-descriptions-item label="鑾峰彇鍓嶆椿妫�">
                           <el-tag :type="scope.row.isbiopsybefore == '1'
                               ? 'success'
@@ -252,30 +242,8 @@
           </template>
         </el-table-column>
 
-        <el-table-column label="鎿嶄綔" align="center" width="150" class-name="small-padding fixed-width">
-          <template slot-scope="scope">
-            <el-button v-if="canAssessOrgan(scope.row) && isEdit" size="mini" type="text"
-              @click="handleToggleExpand(scope.row)">
-              {{
-                expandedRowKeys.includes(scope.row.organno) ? "鏀惰捣" : "璇︽儏"
-              }}
-            </el-button>
-            <el-button v-else-if="!isEdit" size="mini" type="text" @click="handleToggleExpand(scope.row)">
-              {{
-                expandedRowKeys.includes(scope.row.organno) ? "鏀惰捣" : "鏌ョ湅"
-              }}
-            </el-button>
-            <el-button v-else size="mini" type="text" disabled>鏃犳潈闄�</el-button>
-          </template>
-        </el-table-column>
       </el-table>
     </el-card>
-
-    <!-- 鏁翠綋淇濆瓨鎸夐挳 -->
-    <div class="footer-actions" v-if="isEdit">
-      <el-button type="primary" @click="handleSaveAll" :loading="saveLoading">淇濆瓨璇勪及琛�</el-button>
-      <el-button type="success" @click="accomplish" :loading="saveLoading">璇勪及瀹屾垚</el-button>
-    </div>
 
     <!-- 鏂囦欢棰勮寮圭獥 -->
     <FilePreviewDialog :visible="attachmentVisible" :file="currentPreviewFile" @close="attachmentVisible = false" />
@@ -291,10 +259,12 @@
 import CaseBasicInfo from "@/components/CaseBasicInfo";
 import FilePreviewDialog from "@/components/FilePreviewDialog";
 import OrganAssessmentForm from "@/components/assessInfoComponents/OrganAssessmentForm.vue";
+import readonlyDescriptionsMixin from "./readonlyDescriptionsMixin";
 
 export default {
   name: "AssessmentDetail",
   components: { OrganAssessmentForm, FilePreviewDialog, CaseBasicInfo },
+  mixins: [readonlyDescriptionsMixin],
   dicts: ["sys_user_sex", "sys_Organ", "sys_0_1"],
    props: {
     infoid: {
@@ -419,7 +389,7 @@
   created() {
 
     this.caseId = this.infoid;
-    this.isEdit = true;
+    this.isEdit = false;
     this.getAssessmentDetail();
   },
   methods: {

--
Gitblit v1.9.3