From 6c4bd2467bb6651c6edcf8a9741dcd4e9b1aa6d3 Mon Sep 17 00:00:00 2001
From: 张含笑 <zhx18749296735@163.com>
Date: Fri, 30 Jan 2026 14:42:36 +0800
Subject: [PATCH] feat:权限按钮
---
applications/task-work-order/src/views/orderView/orderManage/inspectionRequest/ViewDiaLog.vue | 112 +++++++++++++++++++++++++++++++++----------------------
1 files changed, 67 insertions(+), 45 deletions(-)
diff --git a/applications/task-work-order/src/views/orderView/orderManage/inspectionRequest/ViewDiaLog.vue b/applications/task-work-order/src/views/orderView/orderManage/inspectionRequest/ViewDiaLog.vue
index ba97deb..73953d4 100644
--- a/applications/task-work-order/src/views/orderView/orderManage/inspectionRequest/ViewDiaLog.vue
+++ b/applications/task-work-order/src/views/orderView/orderManage/inspectionRequest/ViewDiaLog.vue
@@ -5,11 +5,11 @@
:title="titleEnum[dialogMode]"
@closed="visible = false"
destroy-on-close
- width="auto"
:close-on-click-modal="false"
+ width="80%"
>
- <div class="content" style="display: flex">
- <div class="processBox" v-if="dialogMode !== 'add' && processList.length">
+ <div class="detail-container" style="display: flex">
+ <div class="detail-left" v-if="dialogMode !== 'add' && processList.length">
<el-timeline class="gd-timeline">
<el-timeline-item
v-for="(activity, index) in processList"
@@ -18,18 +18,19 @@
:type="index === processList.length - 1 ? 'success' : 'info'"
:color="activity.color"
:hollow="activity.hollow"
- :timestamp="activity.flowDesc.split(' ')[1] + activity.flowDesc.split(' ')[2]"
+ :timestamp="activity.createTime"
>
<div class="item-content">
- <div>{{ activity.flowDesc.split(' ')[0] }}</div>
+ <div>{{ activity.operator }}</div>
<div class="flowName">{{ activity.flowName }}</div>
</div>
</el-timeline-item>
</el-timeline>
</div>
- <div class="leftBox">
+
+ <div class="detail-right">
<!-- 查看模式 -->
- <div class="detail-container" v-if="dialogReadonly">
+ <div class="view-container" v-if="dialogReadonly">
<div class="detail-title">工单详情</div>
<el-row class="detail-row-view">
<el-col :span="12">
@@ -46,7 +47,11 @@
</el-col>
<el-col :span="12">
<div class="label">巡查任务航线</div>
- <div class="val">{{ getAirName(formData.patrolRouteUrl) }}</div>
+ <div class="val val-long">
+ <el-tooltip :content="getAirName(formData.patrolRouteUrl)" placement="top">
+ {{ getAirName(formData.patrolRouteUrl) }}
+ </el-tooltip>
+ </div>
</el-col>
<el-col :span="12">
<div class="label">推荐飞手</div>
@@ -60,14 +65,14 @@
<div class="label">关联工单</div>
<div class="val">{{ getWorkOrderName(formData.workOrderId) }}</div>
</el-col>
- <el-col :span="24">
+ <el-col :span="12">
<div class="label">巡查任务描述</div>
<div class="val">{{ formData.taskDesc }}</div>
</el-col>
</el-row>
<template v-if="['6', '7', '8'].includes(taskStatus)">
<div class="detail-title" :style="{ marginTop: pxToRem(10) }">
- 任务成功({{ taskResultList.length || 0 }}条)
+ 任务成果({{ taskResultList.length || 0 }}条)
</div>
<div class="imgBox">
<div v-for="item in taskResultList">
@@ -129,6 +134,7 @@
v-model="formData.patrolRouteUrl"
placeholder="请选择"
clearable
+ @change="getAirDetails"
>
<el-option v-for="item in routeOptions" :key="item.id" :label="item.name" :value="item.id" />
</el-select>
@@ -182,6 +188,7 @@
</el-row>
</el-form>
+ <div class="detail-title" :style="{ marginTop: pxToRem(10) }">任务航线</div>
<!-- 地图组件 -->
<CommonCesiumMap
ref="mapRef"
@@ -365,7 +372,7 @@
// 获取飞手列表
async function getFlyerList() {
- const res = await gdFlyerPageApi({ size: 999 })
+ const res = await gdFlyerPageApi({ size: 999,current: 1 })
flyerList.value = res?.data?.data?.records ?? []
}
@@ -393,6 +400,7 @@
function loadList() {
gdWorkOrderFlowListApi({ workOrderId: formData.value.id, type: '1' }).then(res => {
processList.value = res.data.data
+ console.log(processList.value, 'processList.value')
})
}
@@ -421,7 +429,14 @@
} finally {
}
}
-
+import { ArrowLineMaterialProperty } from '@/utils/cesium/Material'
+let arrowLineMaterialProperty = new ArrowLineMaterialProperty({
+ color: new Cesium.Color(128 / 255, 215 / 255, 255 / 255, 1),
+ directionColor: new Cesium.Color(1, 1, 1, 1),
+ outlineColor: new Cesium.Color(1, 1, 1, 1),
+ outlineWidth: 0,
+ speed: 5,
+})
// 获取航线详情
function getAirDetails() {
queryAirById(formData.value.patrolRouteUrl).then(res => {
@@ -432,14 +447,18 @@
polyline: {
positions: Cesium.Cartesian3.fromDegreesArray(result),
clampToGround: true,
- width: 3,
- material: Cesium.Color.RED,
+ width: 4,
+ material: arrowLineMaterialProperty,
},
})
// 渲染起点(蓝色)
const startPoint = list[0]
viewer.entities.add({
- position: Cesium.Cartesian3.fromDegrees(Number(startPoint.longitude), Number(startPoint.latitude), startPoint.height || 0),
+ position: Cesium.Cartesian3.fromDegrees(
+ Number(startPoint.longitude),
+ Number(startPoint.latitude),
+ startPoint.height || 0
+ ),
point: {
pixelSize: 12,
color: Cesium.Color.BLUE,
@@ -451,7 +470,11 @@
// 渲染终点(红色)
const endPoint = list[list.length - 1]
viewer.entities.add({
- position: Cesium.Cartesian3.fromDegrees(Number(endPoint.longitude), Number(endPoint.latitude), endPoint.height || 0),
+ position: Cesium.Cartesian3.fromDegrees(
+ Number(endPoint.longitude),
+ Number(endPoint.latitude),
+ endPoint.height || 0
+ ),
point: {
pixelSize: 12,
color: Cesium.Color.RED,
@@ -498,42 +521,41 @@
</script>
<style lang="scss" scoped>
-.content {
- display: flex;
- gap: 0 20px;
- .leftBox {
- width: 920px;
- .gd-cesium {
- padding-top: 10px;
- width: 100%;
- height: 423px;
- }
- }
- .processBox {
- width: 312px;
- .item-content {
- position: relative;
+
+/* 时间线样式 */
+:deep(.gd-timeline) {
+ padding-left: 90px;
+}
+
+:deep(.el-timeline-item) {
+ padding-bottom: 20px;
+ .item-content {
+ position: relative;
.flowName {
width: 80px;
position: absolute;
left: -120px;
top: 0px;
}
- }
+ }
+}
+.imgBox {
+ display: flex;
+ flex-wrap: wrap;
+ gap: 10px;
+ > div {
+ width: calc((100% - 40px) / 5); /* 5列布局,减去4个10px间隙 */
+ height: 110px;
+ flex-shrink: 0;
}
- .imgBox {
- display: flex;
- flex-wrap: wrap;
- gap: 10px;
- > div {
- width: calc((100% - 40px) / 5); /* 5列布局,减去4个10px间隙 */
- height: 110px;
- flex-shrink: 0;
- }
- .el-image {
- width: 100%;
- height: 100%;
- }
+ .el-image {
+ width: 100%;
+ height: 100%;
}
}
+:deep(.el-timeline-item__timestamp) {
+ font-size: 12px;
+ color: #999;
+ margin-top: 2px;
+}
</style>
--
Gitblit v1.9.3