From 150ba60e3436b3e6a418b0a66723938b5dc2cfb8 Mon Sep 17 00:00:00 2001
From: chenyao <1219716595@qq.com>
Date: Fri, 31 Jul 2026 17:17:14 +0800
Subject: [PATCH] feat:处置功能

---
 uniapps/work-app/src/api/work/index.js |   82 +++++++++++++++++++++++++++++++++++++++--
 1 files changed, 78 insertions(+), 4 deletions(-)

diff --git a/uniapps/work-app/src/api/work/index.js b/uniapps/work-app/src/api/work/index.js
index ca93e1a..569e4a9 100644
--- a/uniapps/work-app/src/api/work/index.js
+++ b/uniapps/work-app/src/api/work/index.js
@@ -1,5 +1,8 @@
 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'
 
 
 // 工单用户登录接口
@@ -59,8 +62,79 @@
 // 分享缓存数据
 export const shareCacheApi = (data) => {
   return request({
-    url: '/drone-gd/workOrder/gdPatrolTask/share-cache-data',
-    method: 'post',
-    data,
-  })
+		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,
+		})
+	})
 }

--
Gitblit v1.9.3