From 2dfc8dc4bcd3d3cd4aed1b6054e073e140eba9c8 Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Mon, 19 May 2025 16:05:50 +0800
Subject: [PATCH] Merge branch 'master' into jiangwu

---
 src/views/tickets/ticket.vue |   64 ++++++++++++++++++++++----------
 1 files changed, 44 insertions(+), 20 deletions(-)

diff --git a/src/views/tickets/ticket.vue b/src/views/tickets/ticket.vue
index 56b24d6..e3b0b52 100644
--- a/src/views/tickets/ticket.vue
+++ b/src/views/tickets/ticket.vue
@@ -439,7 +439,7 @@
     </el-dialog>
 
     <!-- 添加在其他 dialog 组件之后 -->
-    <el-dialog v-model="reviewDialogVisible" title="批量审核" width="70%" append-to-body custom-class="review-dialog"
+    <el-dialog v-model="reviewDialogVisible" title="批量审核" width="1100" append-to-body custom-class="review-dialog"
       @close="cancleBatchReject">
       <div class="review-container">
         <div class="review-image-wrapper">
@@ -449,9 +449,11 @@
           </div>
 
           <div class="review-image-container">
-            <el-image v-if="currentReviewImage" :src="getThumbUrl(currentReviewImage)" fit="fill"
+            <!-- <el-image v-if="currentReviewImage" :src="getThumbUrl(currentReviewImage)" fit="fill"
               :preview-src-list="getImageList()" :initial-index="currentImageIndex - 1" class="preview-image"
-              style="cursor: pointer">
+              style="cursor: pointer"> -->
+            <el-image v-if="currentReviewImage" :src="getPreviewUrl(currentReviewImage)" fit="fill"
+              :initial-index="currentImageIndex - 1" class="preview-image" style="cursor: pointer">
               <template #error>
                 <div class="image-error">
                   <i class="el-icon-picture-outline"></i>
@@ -565,7 +567,6 @@
         { label: '待处理', value: '0' },
         { label: '处理中', value: '3' },
         { label: '已完成', value: '4' },
-        { label: '已完结', value: '5' },
       ],
       reviewStatuses: [
         { label: '否', value: 0 },
@@ -594,7 +595,15 @@
           { label: '所属单位', prop: 'department', overHidden: true, tooltip: true },
           { label: '发起时间', prop: 'startTime', width: 160 },
           { label: '关联算法', prop: 'aiType', width: 150, overHidden: true, tooltip: true },
-          { label: '工单类型', prop: 'type', width: 130, overHidden: true, tooltip: true },
+          {
+            label: '工单类型',
+            prop: 'type',
+            width: 130,
+            overHidden: true,
+            tooltip: true,
+            type: 'select',
+            dicData: [],
+          },
           {
             label: '工单内容',
             prop: 'content',
@@ -859,7 +868,11 @@
     formattedDetailFields () {
       const fields = [
         { label: '工单名称', value: this.currentDetail.orderName },
-        { label: '工单类型', value: this.currentDetail.type },
+        {
+          label: '工单类型',
+          // 修改这里:使用 types 数组查找对应的 label
+          value: this.types.find(t => t.value === this.currentDetail.type)?.label || this.currentDetail.type || '/'
+        },
         { label: '关联任务', value: this.currentDetail.job_name || '/' },
         { label: '任务发起人', value: this.currentDetail.creator },
         { label: '当前状态', value: this.mapStatus(this.currentDetail.status) },
@@ -1048,6 +1061,9 @@
           value: key,
         }))
 
+        const columnType = this.findObject(this.option.column, 'type')
+        columnType.dicData = this.types
+
         // 确保算法数据的映射一致
         this.algorithms =
           ai_type?.map(item => ({
@@ -1129,7 +1145,7 @@
             startTime: item.create_time,
             aiType: item.ai_types,
             content: item.content, // 将后端返回的 content 映射为 content
-            type: this.types.find(t => t.value === item.work_order_type_dict_key)?.label,
+            type: item.work_order_type_dict_key,
             keyData:
               !isNaN(longitude) && !isNaN(latitude)
                 ? `${longitude.toFixed(6)}, ${latitude.toFixed(6)}`
@@ -1333,7 +1349,6 @@
         0: '待处理',
         3: '处理中',
         4: '已完成',
-        5: '已完结',
       }
       return statusTextMap[status] || '未知状态'
     },
@@ -1347,7 +1362,6 @@
         3: '#e57373', // 处理中-更淡红
         2: '#faad14', // 待审核-橙色
         4: '#a0cfff', // 已完成-淡蓝
-        5: '#67c23a', // 已完结-绿色
       }
       return colorMap[String(status)] || ''
     },
@@ -2406,11 +2420,11 @@
     reCheckConfirm (key) {
       const that = this
       if (key == 1) {
-        getReviewById(this.reCheckData.id).then(res => {
-          this.reCheckDialog = false
-          this.page.currentPage = 1
-          this.fetchTableData()
-          this.fetchTabCounts()
+        getReviewById(that.reCheckData.id).then(res => {
+          that.reCheckDialog = false
+          that.page.currentPage = 1
+          that.fetchTableData()
+          that.fetchTabCounts()
         })
       } else {
         const loading = ElLoading.service({
@@ -2419,20 +2433,29 @@
           background: 'rgba(0, 0, 0, 0.7)',
         })
 
+        function closeConfirm () {
+          that.reCheckDialog = false
+          that.page.currentPage = 1
+          that.fetchTableData()
+          that.fetchTabCounts()
+          loading.close()
+        }
+
         // 获取时间的接口
         getCreateEventJob(that.reCheckData.id).then(res => {
-          loading.close()
-
           ElMessageBox.confirm(`预计复核执行时间为${res.data.data}`, '提示', {
             confirmButtonText: '确定',
             showCancelButton: false, // 关键配置
+            closeOnClickModal: false,
+            closeOnPressEscape: false,
             type: 'warning',
           }).then(() => {
-            this.reCheckDialog = false
-            this.page.currentPage = 1
-            this.fetchTableData()
-            this.fetchTabCounts()
+            closeConfirm()
+          }).catch(() => {
+            closeConfirm()
           })
+        }).catch(() => {
+          closeConfirm()
         })
       }
     },
@@ -2960,6 +2983,7 @@
   :deep(.el-dialog__body) {
     padding: 0;
     background-color: #f5f7fa;
+
   }
 }
 

--
Gitblit v1.9.3