张含笑
2025-10-13 3d08674227b35c1dee6dbd26a3e011bbfaf1dddf
feat:详情
3 files modified
77 ■■■■ changed files
src/api/work/index.js 26 ●●●●● patch | view | raw | blame | history
src/pages/work/index.vue 10 ●●●● patch | view | raw | blame | history
src/subPackages/workDetail/index.vue 41 ●●●● patch | view | raw | blame | history
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', // 设置为表单数据格式
    },
  })
}
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()
    }
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>