From fb39a7bb69cc55d2e1ce61d47e0677aa40540f95 Mon Sep 17 00:00:00 2001
From: chenyao <1219716595@qq.com>
Date: Fri, 30 Jan 2026 16:20:33 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 applications/task-work-order/src/views/orderView/orderManage/inspectionRequest/ViewDiaLog.vue |   88 ++++++++++++++++++++++++--------------------
 1 files changed, 48 insertions(+), 40 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 2c62033..b2fa57a 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
@@ -205,34 +205,35 @@
 		</div>
 
 		<template #footer>
-			<template v-if="requester">
-				<el-button v-if="['1', '4'].includes(taskStatus)" @click="viewDescription" color="#F2F3F5">
-					{{ gdStatusObj[taskStatus].reason }}
-				</el-button>
-				<el-button @click="statusChange(3)" v-if="taskStatus === '3'" color="#4C34FF">撤回任务</el-button>
+			<el-button v-if="['1', '4', '7'].includes(taskStatus)" @click="viewDescription" color="#F2F3F5">
+				{{ gdStatusObj[taskStatus].reason }}
+			</el-button>
+			<el-button @click="statusChange(3)" v-if="taskStatus === '3' && permission.flyOrder_revoke" color="#4C34FF">
+				撤回任务
+			</el-button>
+
+			<template v-if="permission.flyOrder_controlAcceptance">
 				<el-button @click="refusalToAccept" v-if="taskStatus === '6'" color="#F2F3F5">拒绝验收</el-button>
 				<el-button @click="statusChange(6)" v-if="taskStatus === '6'" color="#4C34FF">验收通过</el-button>
-				<el-button
-					v-if="!dialogReadonly || ['1', '4'].includes(taskStatus)"
-					:loading="submitting"
-					:disabled="submitting"
-					color="#4C34FF"
-					@click="handleSubmit"
-				>
-					提交
-				</el-button>
 			</template>
-			<template v-else>
-				<el-button v-if="['7'].includes(taskStatus)" @click="viewDescription" color="#F2F3F5">
-					{{ gdStatusObj[taskStatus].reason }}
-				</el-button>
+			<el-button
+				v-if="!dialogReadonly || (['1', '4'].includes(taskStatus) && permission.flyOrder_add)"
+				:loading="submitting"
+				:disabled="submitting"
+				color="#4C34FF"
+				@click="handleSubmit"
+			>
+				提交
+			</el-button>
+			<template v-if="permission.flyOrder_controlSignFor">
 				<el-button v-if="taskStatus === '0'" @click="addDescription" color="#F2F3F5">拒绝签收</el-button>
 				<el-button v-if="taskStatus === '0'" @click="statusChange(1)" color="#4C34FF">签收</el-button>
+			</template>
+			<template v-if="permission.flyOrder_controlReview">
 				<el-button v-if="taskStatus === '3'" @click="addDescription" color="#F2F3F5">驳回</el-button>
 				<el-button v-if="taskStatus === '3'" @click="statusChange(4)" color="#4C34FF">同意</el-button>
 			</template>
 		</template>
-
 		<RefuseOrderDialog1
 			ref="refuseOrderDialogRef"
 			v-if="rejectVisible"
@@ -252,11 +253,11 @@
 import { pxToRem } from '@/utils/rem'
 import CommonCesiumMap from '@/components/map-container/common-cesium-map.vue'
 import { gdTaskResultListApi } from '@/views/orderView/orderManage/clueEvents/achievementApi'
-import RefuseOrderDialog from '@/views/orderView/orderManage/orderManage/RefuseOrderDialog.vue'
 import RefuseOrderDialog1 from '@/views/orderView/orderManage/inspectionRequest/RefuseOrderDialog1.vue'
 import { Check } from '@element-plus/icons-vue'
 import { queryAirById } from '@/api/zkxt'
 import * as Cesium from 'cesium'
+import { useStore } from 'vuex'
 
 // 初始化表单数据
 const initForm = () => ({
@@ -270,11 +271,12 @@
 	taskDesc: '',
 	workOrderId: null,
 })
+const store = useStore()
+const permission = computed(() => store.state.user.permission)
 
 const rejectVisible = ref(false)
 const mapRef = ref(null)
 const dictObj = inject('dictObj')
-const requester = inject('requester')
 const emit = defineEmits(['success', 'refusalAccept'])
 const formRef = ref(null)
 const formData = ref(initForm())
@@ -372,7 +374,7 @@
 
 // 获取飞手列表
 async function getFlyerList() {
-	const res = await gdFlyerPageApi({ size: 999,current: 1 })
+	const res = await gdFlyerPageApi({ size: 999, current: 1 })
 	flyerList.value = res?.data?.data?.records ?? []
 }
 
@@ -429,7 +431,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 => {
@@ -440,8 +449,8 @@
 			polyline: {
 				positions: Cesium.Cartesian3.fromDegreesArray(result),
 				clampToGround: true,
-				width: 3,
-				material: Cesium.Color.RED,
+				width: 4,
+				material: arrowLineMaterialProperty,
 			},
 		})
 		// 渲染起点(蓝色)
@@ -514,23 +523,22 @@
 </script>
 
 <style lang="scss" scoped>
-
 /* 时间线样式 */
 :deep(.gd-timeline) {
- padding-left: 90px;
+	padding-left: 90px;
 }
 
 :deep(.el-timeline-item) {
-  padding-bottom: 20px;
-  .item-content {
- 	position: relative;
-			.flowName {
-				width: 80px;
-				position: absolute;
-				left: -120px;
-				top: 0px;
-			}
-  }
+	padding-bottom: 20px;
+	.item-content {
+		position: relative;
+		.flowName {
+			width: 80px;
+			position: absolute;
+			left: -120px;
+			top: 0px;
+		}
+	}
 }
 .imgBox {
 	display: flex;
@@ -547,8 +555,8 @@
 	}
 }
 :deep(.el-timeline-item__timestamp) {
-  font-size: 12px;
-  color: #999;
-  margin-top: 2px;
+	font-size: 12px;
+	color: #999;
+	margin-top: 2px;
 }
 </style>

--
Gitblit v1.9.3