From 3d08674227b35c1dee6dbd26a3e011bbfaf1dddf Mon Sep 17 00:00:00 2001
From: 张含笑 <zhx18749296735@163.com>
Date: Mon, 13 Oct 2025 10:22:54 +0800
Subject: [PATCH] feat:详情

---
 src/api/work/index.js                |   26 +++++++++++++
 src/subPackages/workDetail/index.vue |   41 +++++++++++++++++---
 src/pages/work/index.vue             |   10 ++++-
 3 files changed, 68 insertions(+), 9 deletions(-)

diff --git a/src/api/work/index.js b/src/api/work/index.js
index 0658350..10b197a 100644
--- a/src/api/work/index.js
+++ b/src/api/work/index.js
@@ -21,4 +21,30 @@
     method: 'get',
     params: { eventNum }
   })
+}
+
+// 修改接口:处理待审核状态,动态构建 FormData 提交
+export const flowEvent = (data, file) => {
+  const formData = new FormData()
+
+  // 动态添加非空字段到 FormData
+  Object.entries(data).forEach(([key, value]) => {
+    if (value !== undefined && value !== null) {
+      formData.append(key, value)
+    }
+  })
+
+  // 如果 file 存在,则添加到 FormData
+  if (file) {
+    formData.append('file', file)
+  }
+
+  return request({
+    url: '/drone-device-core/jobEvent/flowEvent',
+    method: 'post',
+    data: formData,
+    headers: {
+      'Content-Type': 'multipart/form-data', // 设置为表单数据格式
+    },
+  })
 }
\ No newline at end of file
diff --git a/src/pages/work/index.vue b/src/pages/work/index.vue
index 60f780c..e1a43c4 100644
--- a/src/pages/work/index.vue
+++ b/src/pages/work/index.vue
@@ -28,11 +28,15 @@
 </template>
 
 <script setup>
-
+import { useUserStore } from '@/store/index.js'
 import {getList,getstatusCount} from '/src/api/work/index.js'
 	import dayjs from 'dayjs';
+	const userStore = useUserStore()
+	const userInfo = userStore.userInfo
+
 	const dataList = ref([])
 	const keyword = ref('')
+	const currentTab=ref('myTickets')
 	const tabList = ref([{
 			name: '我的工单',
 			key: 'myTickets',
@@ -99,7 +103,8 @@
 			size: 9999,
 			source: 1,
 			status:listParams.value.status,
-			event_name:listParams.value.keyword
+			event_name:listParams.value.keyword,
+			user_id:currentTab.value=== 'myTickets' ?userInfo.user_id : undefined
 		}
 		getList(params).then(res => {
 		
@@ -127,6 +132,7 @@
 		}
 
 	const handleClick = (item) => {
+		currentTab.value = item.key
 	listParams.value.status = item.status
 		getDataList()
 	}
diff --git a/src/subPackages/workDetail/index.vue b/src/subPackages/workDetail/index.vue
index c186a46..32a159e 100644
--- a/src/subPackages/workDetail/index.vue
+++ b/src/subPackages/workDetail/index.vue
@@ -36,10 +36,11 @@
 		<div class="workOrderContent">
 			<div class="workOrderTitle">工单内容</div>
 			<div class="workOrderContainer">
+	
 				<div>工单名称:{{workDetailData.event_name}}</div>
-				<div>工单类型:{{workDetailData.$type}}</div>
+				<div>工单类型:{{workDetailData.type}}</div>
 				<div>关联任务:{{workDetailData.job_name}}</div>
-				<div>工单创建人:{{workDetailData.creator}}</div>
+				<div>工单创建人:{{workDetailData.event_num?.slice(0, 2) === 'AI' ? 'AI 小飞':workDetailData.creator}}</div>
 				<div>事件地址:{{workDetailData.address}}</div>
 				<div>关联算法:{{workDetailData.ai_types}}</div>
 				<div>发起部门:{{workDetailData.dept_name}}</div>
@@ -52,9 +53,21 @@
 			<div class="leftBtn" @click="leftClick">
 				上一页
 			</div>
-			<div class="btngroups">
-				<up-button type="primary" text="通过"></up-button>
-				<up-button type="error" text="不通过"></up-button>
+			<div class="btngroups" v-if="workDetailData.status===2">
+				<up-button type="primary" text="通过"  @click="approveTicket"></up-button>
+				<up-button type="error" text="不通过" @click="rejectTicket"></up-button>
+			</div>
+			<div class="btngroups" v-else-if="workDetailData.status===0">
+				<up-button type="primary" text="受理"  @click="approveAndDispatch"></up-button>
+				<up-button type="error" text="不受理" @click="rejectTicket"></up-button>
+			</div>
+			<div class="btngroups" v-else-if="workDetailData.status===3">
+				<up-button type="primary" text="完成工单" @click="completeTicket"></up-button>
+				<up-button type="error" text="取消"></up-button>
+			</div>
+			<div class="btngroups" v-else="workDetailData.status===4">
+				
+				<up-button type="error" text="取消"></up-button>
 			</div>
 			<div class="leftBtn" @click="rightClick">
 				下一页
@@ -65,7 +78,9 @@
 </template>
 
 <script setup>
-	import {getStepInfo,getList} from '/src/api/work/index.js'
+	
+	import {getStepInfo,getList,flowEvent} from '/src/api/work/index.js'
+	
 	const eventNum = ref('');
 	const currentStatus = ref('')
 	const stepResponse = ref([]);
@@ -106,7 +121,7 @@
 	  const response = res.data.data.records;
 	  workDetailData.value = response[0];
 	  currentStatus.value = workDetailData.value.status;
-	  
+	  console.log('详情',response);
 	}
 	// 步骤条
 	const calculateCurrentStep = (status) => {
@@ -121,6 +136,7 @@
 	const getStepInfoData = async (val) => {
 	  const res = await getStepInfo(val);
 	  stepResponse.value = res.data.data;
+	  console.log('stepResponse',stepResponse.value)
 	  currentStep.value = calculateCurrentStep(currentStatus.value);
 	}
 	// 图片预览
@@ -130,6 +146,17 @@
 			current: 0
 		});
 	};
+	// 通过
+	const approveTicket=()=>{}
+	// // 不通过
+	const rejectTicket=()=>{}
+	// // 受理
+	const approveAndDispatch=()=>{}
+	// // 不受理
+	// const rejectTicket=()=>{}
+	// // 完成工单
+	// const completeTicket=()=>{}
+	// 取消
 </script>
 
 <style lang="scss" scoped>

--
Gitblit v1.9.3