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