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