From ca690e94ea24f91bd00009b4b410cffcf7a42b88 Mon Sep 17 00:00:00 2001
From: 罗广辉 <guanghui.luo@foxmail.com>
Date: Fri, 08 Aug 2025 15:38:09 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/feature/v5.0/5.0.1' into feature/v5.0/5.0.1

---
 src/views/job/components/SearchBox.vue |    4 +
 src/views/tickets/ticket.vue           |   87 ++++++++++++++++++++++++++++++++-----------
 src/views/tickets/orderLog.vue         |    3 +
 3 files changed, 71 insertions(+), 23 deletions(-)

diff --git a/src/views/job/components/SearchBox.vue b/src/views/job/components/SearchBox.vue
index 09e7b3f..b5a2117 100644
--- a/src/views/job/components/SearchBox.vue
+++ b/src/views/job/components/SearchBox.vue
@@ -343,8 +343,10 @@
     const dateArray = [date, date];
 
     dateRange.value = dateArray;
+    const find = store.state.tags.bsTagList.find(i => i.path === '/job/jobstatistics')
+          find && (find.query = {})
   }
-    // 查询一次
+      // 查询一次
     handleSearch()
 });
 </script>
diff --git a/src/views/tickets/orderLog.vue b/src/views/tickets/orderLog.vue
index f695d28..ebcf425 100644
--- a/src/views/tickets/orderLog.vue
+++ b/src/views/tickets/orderLog.vue
@@ -702,8 +702,11 @@
     if (id) {
       // 确保 id 存在
       this.handleViewDetail({ id })
+      const find = this.$store.state.tags.bsTagList.find(i => i.path === '/tickets/orderLog')
+        find && (find.query = {})
     } else {
       console.error('工单ID不存在!')
+           
     }
   },
   computed: {
diff --git a/src/views/tickets/ticket.vue b/src/views/tickets/ticket.vue
index 8cb2837..a0424a3 100644
--- a/src/views/tickets/ticket.vue
+++ b/src/views/tickets/ticket.vue
@@ -36,6 +36,7 @@
               placeholder="请选择工单类型"
               class="filter-item"
               clearable
+              @change="handleSearch"
             >
               <el-option
                 v-for="item in types"
@@ -59,6 +60,7 @@
               placeholder="请选择状态"
               class="filter-item"
               clearable
+              @change="handleSearch"
             >
               <el-option
                 v-for="item in statuses"
@@ -72,6 +74,7 @@
               placeholder="请选择关联算法"
               class="filter-item"
               clearable
+              @change="handleSearch"
             >
               <el-option
                 v-for="item in algorithms"
@@ -85,6 +88,7 @@
               placeholder="请选择复核状态"
               class="filter-item"
               clearable
+              @change="handleSearch"
             >
               <el-option
                 v-for="item in reviewStatuses"
@@ -374,7 +378,7 @@
     </el-dialog>
 
     <!-- 工单详情对话框 -->
-    <el-dialog   align-center v-model="detailVisible" title="工单详情" width="80%" append-to-body>
+    <el-dialog   class="custom-dialog" align-center v-model="detailVisible" title="工单详情" width="80%"  append-to-body>
       <div class="detail-container">
         <div class="detail-top-title">
           <div class="event-title-center event-orderNumber">
@@ -417,7 +421,8 @@
           </el-steps>
         </div>
 
-        <!-- 基本信息表格 -->
+      <div class="PopUpTableScrolls">
+          <!-- 基本信息表格 -->
         <el-table :show-header="false" :data="formattedDetailFields" border class="tableCss">
           <el-table-column prop="label1" label="基本信息" width="150">
             <template #default="{ row }">
@@ -644,17 +649,18 @@
              
           </el-row>
         </div>
+      </div>
 
         <!-- 操作按钮 -->
-        <div class="dialog-footer">
+        <div class="dialog-footer1">
             <div
                 class="leftBtn"
                 :class="currentIndex === 0 ? 'disableds' : ''"
                 @click="leftClick"
               >
-               <el-icon><ArrowLeft /></el-icon>
+               上一页
               </div>
-       <div>
+       <div class="btngroups">
            <template v-if="currentDetail.status === 2">
             <!-- 待审核 -->
             <el-button
@@ -713,7 +719,7 @@
                 class="leftBtn"
                 @click="rightClick"
               >
-               <el-icon><ArrowRight /></el-icon>
+              下一页
               </div>
         </div>
       </div>
@@ -729,6 +735,7 @@
       <el-form :model="dispatchForm" :rules="dispatchRules" ref="dispatchForm" label-width="100px">
         <el-form-item label="选择部门" prop="department">
           <el-select
+          
             v-model="dispatchForm.department"
             placeholder="请选择部门"
             @change="handleDispatchDepartmentChange"
@@ -743,6 +750,7 @@
         </el-form-item>
         <el-form-item label="选择处理人" prop="handler">
           <el-select
+          filterable
             v-model="dispatchForm.handler"
             placeholder="请选择处理人"
             :disabled="!dispatchForm.department"
@@ -1268,7 +1276,6 @@
         { label: '当前状态', value: this.mapStatus(this.currentDetail.status) },
         { label: '事件地址', value: this.currentDetail.address || this.currentDetail.latAndLon }, // 包含经纬度信息
         { label: '关联算法',
-        //  value: this.currentDetail.aiType 
          value:
             this.algorithms.find(t => t.value === this.currentDetail.aiType)?.label ||
             this.currentDetail.aiType ||
@@ -1292,7 +1299,9 @@
           value2: filteredFields[i + 1]?.value || (filteredFields[i + 1]?.label ? '暂无数据' : ''),
         });
       }
+     
       return formattedFields;
+
     },
     dynamicFixedStatuses() {
       // 直接使用接口返回的 stepInfos
@@ -2344,8 +2353,8 @@
         this.$message.warning('请填写工单名称');
         return;
       }
-      if (!this.currentDetail.type) {
-        this.$message.warning('请选择工单类型');
+      if (!this.currentDetail.aiType) {
+        this.$message.warning('请选择关联算法');
         return;
       }
       if (!this.currentDetail.content || !this.currentDetail.content.trim()) {
@@ -2355,6 +2364,9 @@
 
       // 通过验证后,打开派发对话框
       this.dispatchDialogVisible = true;
+
+      console.log('受理',this.currentDetail);
+      
     },
     hasProcessingBtnPermission() {
       // undefined 或 false 都返回 false,只有 true 返回 true
@@ -2394,6 +2406,8 @@
         return;
       }
       this.dispatchLoading = true;
+      console.log('派发成功',this.currentDetail);
+      
       this.$refs.dispatchForm.validate(async valid => {
         if (valid) {
           try {
@@ -2407,7 +2421,9 @@
               content: this.currentDetail.content, // 使用 content 替代原来的 remark
               createDept: this.dispatchForm.department, // 派发部门 ID
               updateUser: this.dispatchForm.handler, // 处理人 ID
+              aiType:this.currentDetail.aiType
             };
+           console.log('派发',data);
 
             const file = this.currentDetail.file || null; // 如果没有文件,则为 null
 
@@ -2950,7 +2966,9 @@
 
 };
 </script>
-
+<style lang="scss">
+.custom-dialog {  max-height: 96vh; /* 80% 视口高度 */}
+</style>
 <style lang="scss" scoped>
 
 ::v-deep(.el-tabs) {
@@ -3157,10 +3175,7 @@
 }
 
 .dialog-footer {
-display: flex;
   text-align: center;
-  align-items: center;
-  justify-content: space-between;
   padding-top: 16px;
   border-top: 1px solid #ebeef5;
 
@@ -3176,7 +3191,33 @@
     }
   }
 }
+.dialog-footer1 {
+  position: sticky;
+    bottom: 28px;
+    left: 0;
+    right: 0;
+    background: white;
+    z-index: 10;
+    padding: 16px 20px;
+    border-top: 1px solid #ebeef5;
+    display: flex;
+    justify-content: space-between;
+    align-items: center;
+  .el-button + .el-button {
+    margin-left: 12px;
+  }
+.btngroups {
+margin-left: 12px;
+}
+  .el-button {
+    padding: 9px 20px;
 
+    &:last-child {
+      margin-left: 12px;
+      margin-right: 12px;
+    }
+  }
+}
 .map-container {
   width: 100%;
   height: 400px;
@@ -3338,18 +3379,16 @@
 }
 
 .leftBtn {
-  width: 36px;
-  height: 36px;
+  width: 70px;
+  height: 32px;
   background-color: #999;
-  border-radius: 50%;
+  border-radius: 5px;
   text-align: center;
-  line-height: 36px;
+line-height: 32px;
   color: #fff;
   cursor: pointer;
   opacity: 0.8;
-display: flex;
-align-items: center;
-justify-content: center;
+
 }
 
 .disableds {
@@ -3358,7 +3397,11 @@
   pointer-events: none;
   opacity: 0.3 !important;
 }
-
+.PopUpTableScrolls{
+height: 600px;
+overflow-y: scroll;
+overflow-x: hidden;
+}
 .media-box {
   width: 100%;
   border: 1px solid #dcdfe6;
@@ -3374,7 +3417,7 @@
 
   .media-content {
     position: relative;
-    height: 250px;
+    height: 500px;
 
     :deep(.el-image) {
       width: 100% !important;

--
Gitblit v1.9.3