| | |
| | | import {request} from "@/utils/index.js"; |
| | | export const getList = (data) => { |
| | | import { request } from "@/utils/requestGd/index.js" |
| | | import website from '@/config/website' |
| | | import { getEnvObj } from '@/utils/index.js' |
| | | import { useUserStore } from '@/store/index.js' |
| | | import { Base64 } from 'js-base64' |
| | | |
| | | |
| | | // 工单用户登录接口 |
| | | export const ticketLoginInterfaceApi = (tenantId, deptId, roleId, username, password, type, key, code) => { |
| | | return request({ |
| | | url: '/drone-device-core/jobEvent/eventPage', |
| | | url: '/blade-auth/oauth/token', |
| | | method: 'post', |
| | | data, |
| | | header: { |
| | | 'Tenant-Id': tenantId, |
| | | 'Dept-Id': website.switchMode ? deptId : '', |
| | | 'Role-Id': website.switchMode ? roleId : '', |
| | | 'Captcha-Key': key, |
| | | 'Captcha-Code': code, |
| | | }, |
| | | params: { |
| | | tenantId, |
| | | username, |
| | | password, |
| | | grant_type: 'password', |
| | | scope: 'all', |
| | | type, |
| | | }, |
| | | }) |
| | | } |
| | | // 获取状态统计数据 |
| | | // 获取工单列表 |
| | | export const getGdList = data => { |
| | | return request({ |
| | | url: '/drone-gd/workOrder/gdClueEvent/list', |
| | | method: 'get', |
| | | data, |
| | | }); |
| | | }; |
| | | // 获取详情 |
| | | export const getGddetailedData = data => { |
| | | return request({ |
| | | url: '/drone-gd/workOrder/gdClueEvent/detail', |
| | | method: 'get', |
| | | data, |
| | | }); |
| | | }; |
| | | // 获取数量 |
| | | export const getstatusCount = (params) => { |
| | | return request({ |
| | | url: '/drone-device-core/jobEvent/getstatusCount', |
| | | url: '/drone-gd/workOrder/gdClueEvent/count', |
| | | method: 'get', |
| | | params, |
| | | }) |
| | | } |
| | | |
| | | export const getStepInfo = (eventNum) => { |
| | | // 退回工单 |
| | | export const backGdApi = (data) => { |
| | | return request({ |
| | | url: '/drone-device-core/jobEvent/getStepInfo', |
| | | 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) |
| | | } |
| | | for (let [key, value] of formData.entries()) { |
| | | console.log(key, value) |
| | | } |
| | | console.log('formData',formData) |
| | | return request({ |
| | | url: '/drone-device-core/jobEvent/flowEvent', |
| | | url: '/drone-gd/workOrder/gdClueEvent/handle', |
| | | method: 'post', |
| | | data: formData, |
| | | headers: { |
| | | 'Content-Type': 'multipart/form-data', // 设置为表单数据格式 |
| | | }, |
| | | data, |
| | | }) |
| | | } |
| | | |
| | | // 新增接口:获取工单详细信息 |
| | | export const getTicketInfo = (id) => { |
| | | // 分享缓存数据 |
| | | export const shareCacheApi = (data) => { |
| | | return request({ |
| | | url: '/drone-device-core/jobEvent/getTicketInfo', |
| | | method: 'get', |
| | | params: { id }, // 使用工单 ID 查询 |
| | | }) |
| | | url: '/drone-gd/workOrder/gdPatrolTask/share-cache-data', |
| | | method: 'post', |
| | | data, |
| | | }) |
| | | } |
| | | |
| | | // 新增处置记录 |
| | | export const addDisposeRecord = data => { |
| | | return request({ |
| | | url: '/drone-gd/workOrder/gdClueEvent/addDisposeRecord', |
| | | method: 'post', |
| | | data, |
| | | }) |
| | | } |
| | | |
| | | // 更新状态 |
| | | export const updateStatus = data => { |
| | | return request({ |
| | | url: '/drone-gd/workOrder/gdClueEvent/updateStatus', |
| | | method: 'post', |
| | | data, |
| | | }) |
| | | } |
| | | |
| | | |
| | | |
| | | // 获取处置记录列表 |
| | | export const getDisposeRecords = params => { |
| | | return request({ |
| | | url: '/drone-gd/workOrder/gdClueEvent/disposeRecords', |
| | | method: 'get', |
| | | params, |
| | | }) |
| | | } |
| | | |
| | | // 上传文件 |
| | | export const uploadFileAPI = filePath => { |
| | | let baseURL = getEnvObj().VITE_API_BASE_URL_GD |
| | | // #ifdef H5 |
| | | if (import.meta.env.VITE_APP_PROXY === 'true') { |
| | | baseURL = import.meta.env.VITE_API_PREFIX_GD |
| | | } |
| | | // #endif |
| | | const userInfo = useUserStore()?.$state?.userInfo || {} |
| | | const accessToken = userInfo.gd_access_token |
| | | const areaCode = userInfo.detail?.areaCode |
| | | const header = { |
| | | 'Blade-Requested-With': 'BladeHttpRequest', |
| | | Authorization: `Basic ${Base64.encode(`${website.clientId}:${website.clientSecret}`)}`, |
| | | } |
| | | if (accessToken) header['Blade-Auth'] = `bearer ${accessToken}` |
| | | if (areaCode) header.areaCode = areaCode |
| | | |
| | | return new Promise((resolve, reject) => { |
| | | uni.uploadFile({ |
| | | url: `${baseURL.replace(/\/$/, '')}/blade-resource/oss/endpoint/put-file`, |
| | | filePath, |
| | | name: 'file', |
| | | header, |
| | | success: response => { |
| | | try { |
| | | const responseData = typeof response.data === 'string' ? JSON.parse(response.data) : response.data |
| | | const status = Number(responseData?.error_code ?? responseData?.code ?? response.statusCode) |
| | | if (![0, 200].includes(status)) { |
| | | reject(responseData) |
| | | return |
| | | } |
| | | resolve(responseData) |
| | | } catch (error) { |
| | | reject(error) |
| | | } |
| | | }, |
| | | fail: reject, |
| | | }) |
| | | }) |
| | | } |