From 8c7a8297944c0bb8038dc7ac21bdf22c6e06a229 Mon Sep 17 00:00:00 2001
From: 张含笑 <zhx18749296735@163.com>
Date: Mon, 26 May 2025 17:50:05 +0800
Subject: [PATCH] feat:默认头像,事件工单可在详情页点击下一个事件处置

---
 src/views/tickets/ticket.vue     |   62 +++++++++++++++++++++++++++++-
 src/assets/images/defaultava.png |    0 
 2 files changed, 59 insertions(+), 3 deletions(-)

diff --git a/src/assets/images/defaultava.png b/src/assets/images/defaultava.png
new file mode 100644
index 0000000..cc3462f
--- /dev/null
+++ b/src/assets/images/defaultava.png
Binary files differ
diff --git a/src/views/tickets/ticket.vue b/src/views/tickets/ticket.vue
index d2a0003..4f25360 100644
--- a/src/views/tickets/ticket.vue
+++ b/src/views/tickets/ticket.vue
@@ -322,7 +322,8 @@
         <!-- 图片和地图部分 -->
         <div class="media-section">
           <el-row :gutter="20">
-            <el-col :span="12">
+            <el-col :span="1"><div class="leftBtn" @click="leftClick"><</div></el-col>
+            <el-col :span="11">
               <div class="media-box">
                 <div class="media-title">事件图片</div>
                 <div class="media-content">
@@ -346,9 +347,10 @@
                 </div>
               </div>
             </el-col>
-            <el-col :span="12">
+            <el-col :span="11">
               <div class="media-box">
                 <!-- 根据状态显示不同的标题和内容 -->
+                
                 <template v-if="currentDetail.status === 4">
                   <div class="media-title">工单处理图片</div>
                   <div class="media-content">
@@ -378,6 +380,7 @@
                 </template>
               </div>
             </el-col>
+             <el-col :span="1"><div class="leftBtn" @click="rightClick">></div></el-col>
           </el-row>
         </div>
 
@@ -523,6 +526,7 @@
   name: 'TicketPage',
   data () {
     return {
+    currentIndex: 0, // 当前显示的数据索引
       submitLoading: false, // 新增loading状态
       draftLoading: false,
       approveLoading: false,
@@ -715,7 +719,9 @@
     console.log('permission.tickets_processing_btn', this.permission.tickets_processing_btn)
     console.log('permission', this.permission.tickets_tab_pending)
   },
+
   mounted () {
+    
     const href = this.$route.href
     let curQueryParams = {}
 
@@ -951,7 +957,40 @@
       }
     },
   },
+
   methods: {
+    leftClick() {
+    if (this.tableData.length === 0) return
+    if(this.currentIndex === 0) return
+    this.currentIndex = (this.currentIndex - 1 + this.tableData.length) % this.tableData.length
+    console.log('left', this.currentIndex);
+  this.updateCurrentDetail()
+
+  },
+
+  // 右切换
+  rightClick() {
+    if (this.tableData.length === 0) return
+    if(this.currentIndex >= this.tableData.length-1) return
+    this.currentIndex = (this.currentIndex + 1) % this.tableData.length
+     console.log('right', this.currentIndex);
+    this.updateCurrentDetail()
+
+  },
+
+  // 更新当前详情
+  updateCurrentDetail() {
+    this.currentDetail = this.tableData[this.currentIndex]
+    this.currentDetail.mediaUrl = this.currentDetail.photo_url
+    console.log('this.currentDetail',this.currentDetail);
+    
+    // 如果使用地图组件,需要更新地图标记
+    this.$nextTick(() => {
+      if (this.$refs.MapContainer && this.currentDetail.location) {
+        this.$refs.MapContainer.initAddEntity('point', this.currentDetail.location)
+      }
+    })
+  },
     async loadAMapScripts () {
       try {
         const areaCode = this.userInfo.detail.areaCode
@@ -1164,6 +1203,7 @@
             isReview: item.is_review, // 添加复核状态字段映射
           }
         })
+// console.log('this.tableData',this.tableData);
 
         // 更新总数显示
         this.page.total = total || 0
@@ -2369,6 +2409,8 @@
      * @returns {string} 缩略图地址
      */
     getThumbUrl (url) {
+ 
+    
       if (!url) return ''
       const lastDot = url.lastIndexOf('.')
       if (lastDot === -1) return url
@@ -2550,6 +2592,7 @@
 
     .el-row {
       margin-bottom: 16px;
+  
 
       &:last-child {
         margin-bottom: 0;
@@ -2800,8 +2843,21 @@
 
 .media-section {
   margin-bottom: 20px;
-}
+  .el-row {
+  display: flex;
+  align-items: center;}
 
+}
+.leftBtn {
+  width: 36px;
+  height: 36px;
+  background-color: #999;
+  border-radius: 50%;
+  text-align: center;
+  line-height: 36px;
+  color: #fff;
+  cursor: pointer;
+  }
 .media-box {
   width: 100%;
   border: 1px solid #dcdfe6;

--
Gitblit v1.9.3