From 08527b5faf63d0ec25db048c9866c3751d384390 Mon Sep 17 00:00:00 2001
From: 张含笑 <zhx18749296735@163.com>
Date: Fri, 21 Nov 2025 15:59:20 +0800
Subject: [PATCH] feat:是否有权限完成工单
---
src/views/tickets/ticketComponent/TicketDetailDialog.vue | 18 +++++++++++++++---
1 files changed, 15 insertions(+), 3 deletions(-)
diff --git a/src/views/tickets/ticketComponent/TicketDetailDialog.vue b/src/views/tickets/ticketComponent/TicketDetailDialog.vue
index af8f87a..0f3d8ac 100644
--- a/src/views/tickets/ticketComponent/TicketDetailDialog.vue
+++ b/src/views/tickets/ticketComponent/TicketDetailDialog.vue
@@ -155,6 +155,7 @@
placeholder="请输入事件处理详情"
:rows="4"
style="width: 100%; margin-bottom: 10px"
+ :disabled="!isCurrentUserAssigned"
/>
</template>
<!-- 已完成和已完结状态显示只读文本 -->
@@ -174,6 +175,7 @@
<template v-else> 上传图片</template>
</div>
<el-upload
+ :disabled="!isCurrentUserAssigned"
v-if="hasProcessedAndOverBtnPermission()"
ref="uploadRef"
:action="'#'"
@@ -357,6 +359,7 @@
:loading="completeLoading"
@click="handleComplete"
icon="el-icon-circle-check"
+ :disabled="!isCurrentUserAssigned"
>
完成工单
</el-button>
@@ -380,11 +383,15 @@
</template>
<script setup>
+import { useStore } from 'vuex'
import { ref, computed, watch, nextTick } from 'vue';
import { flowEvent, getStepInfo } from '@/api/tickets/ticket';
import { getSmallImg, getShowImg } from '@/utils/util';
import CreateQRcode from '@/components/CreateQRcode/CreateQRcode.vue';
import { ElMessage} from 'element-plus';
+const store = useStore()
+const userInfo = computed(() => store.state.user.userInfo)
+console.log('userInfo',userInfo.value);
// 定义props
const props = defineProps({
modelValue: {
@@ -425,7 +432,8 @@
}
});
-// 定义emits
+// 定义emits
+
const emit = defineEmits([
'update:modelValue',
'detail-success',
@@ -460,7 +468,12 @@
const isEditMode = computed(() => {
return props.currentDetail.status === -1;
});
-
+// 是否有权限完成工单
+const isCurrentUserAssigned =computed(()=>{
+ const handleUserId = props.currentDetail?.handle_user_id;
+ const currentUserId = userInfo.value?.user_id;
+ return !!handleUserId && !!currentUserId && String(handleUserId) === String(currentUserId);
+})
const formattedDetailFields = computed(() => {
const fields = [
{ label: '工单名称', value: props.currentDetail.orderName },
@@ -565,7 +578,6 @@
const mapStatus = (status) => {
const statusTextMap = {
- '-1': '草稿',
2: '待审核',
0: '待处理',
3: '处理中',
--
Gitblit v1.9.3