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