zlwu 1 год назад
Родитель
Сommit
913dc605b2

+ 16 - 0
docs/设计文档/database/patch_2025-07-11_hq_hall_info_deleted.sql

@@ -0,0 +1,16 @@
+-- 校园管理系统数据库补丁
+-- 文件: patch_2025-07-11_hq_hall_info_deleted.sql
+-- 目的: 为测试环境 hq_hall_info 表新增逻辑删除字段 deleted,并创建对应索引
+-- 执行环境: 测试库 (请在生产环境执行前再次确认)
+-- 创建时间: 2025-07-11 10:00:00
+-- 创建人: wuzilong
+
+-- 1. 新增 deleted 字段,默认值为0  (0: 存在, 1: 删除)
+ALTER TABLE `hq_hall_info`
+    ADD COLUMN `deleted` TINYINT(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)' AFTER `update_time`;
+
+-- 2. 创建 deleted 字段索引,加速查询
+ALTER TABLE `hq_hall_info`
+    ADD INDEX `idx_deleted` (`deleted`);
+
+-- 补丁结束 

+ 27 - 3
web/src/views/hq/pm/repairOrder/index.vue

@@ -783,6 +783,11 @@
                 <label>评价时间:</label>
                 <span class="detail-value">{{ orderDetail.evaluationTime || '暂未评价' }}</span>
               </div>
+              <!-- 新增:评价内容展示 -->
+              <div class="detail-item full-width" v-if="orderDetail.evaluationContent">
+                <label>评价内容:</label>
+                <span class="detail-value description">{{ orderDetail.evaluationContent }}</span>
+              </div>
             </div>
           </el-card>
 
@@ -1018,8 +1023,9 @@
     <!-- 进度更新对话框 -->
     <el-dialog title="进度更新" v-model="updateProgressDialog.visible" width="600px" append-to-body>
       <el-form ref="progressFormRef" :model="progressForm" :rules="progressRules" label-width="120px">
+        <!-- 只读展示工单编号 -->
         <el-form-item label="工单编号" prop="orderNo">
-          <el-input v-model="progressForm.orderNo" placeholder="请输入工单编号" />
+          <el-input v-model="progressForm.orderNo" placeholder="工单编号" readonly disabled style="background-color: #f5f7fa; color: #909399" />
         </el-form-item>
         <!-- <el-form-item label="进度类型" prop="progressType">
           <el-select v-model="progressForm.progressType" placeholder="请选择进度类型" style="width: 100%">
@@ -1409,7 +1415,9 @@ const updateProgressDialog = reactive<DialogOption>({
   title: ''
 });
 
-const progressForm = ref<ProgressUpdateForm>({
+// 增加 orderNo 字段,用于在进度更新弹窗中展示工单编号
+const progressForm = ref<ProgressUpdateForm & { orderNo?: string }>({
+  orderNo: '',
   orderId: '',
   progressType: '5',
   progressStatus: '',
@@ -1434,8 +1442,10 @@ const completeDialog = reactive<DialogOption>({
   title: ''
 });
 
-const completeForm = ref({
+// 增加 orderNo 字段,用于完成工单弹窗展示工单编号
+const completeForm = ref<{ orderId: string; orderNo?: string; repairResult: string; usedMaterials: string; followSuggestions: string }>({
   orderId: '',
+  orderNo: '',
   repairResult: '',
   usedMaterials: '',
   followSuggestions: ''
@@ -2018,6 +2028,18 @@ const handleDetail = async (row: RepairOrderVO) => {
     // 适配不同的响应格式
     orderDetail.value = (res as any).data || res;
 
+    // 如果服务评价内容缺失,则尝试单独拉取
+    if (!orderDetail.value.evaluationContent) {
+      try {
+        const evaRes = await getServiceEvaluation(row.id);
+        if (evaRes && evaRes.data) {
+          orderDetail.value.evaluationContent = evaRes.data.evaluationContent || evaRes.data.evaluationContent;
+        }
+      } catch (e) {
+        console.warn('获取服务评价内容失败', e);
+      }
+    }
+
     // 自动加载附件信息
     if (orderDetail.value.attachmentCount && orderDetail.value.attachmentCount > 0) {
       await loadAttachments(orderDetail.value.id);
@@ -2226,6 +2248,7 @@ const handleUpdateProgress = (row: RepairOrderVO) => {
   updateProgressDialog.visible = true;
 
   progressForm.value = {
+    orderNo: row.orderNo,
     orderId: row.id,
     progressType: '5',
     progressStatus: '',
@@ -2246,6 +2269,7 @@ const handleComplete = (row: RepairOrderVO) => {
 
   completeForm.value = {
     orderId: String(row.id),
+    orderNo: row.orderNo,
     repairResult: '',
     usedMaterials: '',
     followSuggestions: ''