From 2c86a8bd60deed0dd0e044bad6fb83f75d19a332 Mon Sep 17 00:00:00 2001
From: wlzboy <66905212@qq.com>
Date: 星期日, 26 十月 2025 15:05:50 +0800
Subject: [PATCH] Merge branch 'feature-task'
---
ruoyi-ui/src/api/task.js | 247 +++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 247 insertions(+), 0 deletions(-)
diff --git a/ruoyi-ui/src/api/task.js b/ruoyi-ui/src/api/task.js
new file mode 100644
index 0000000..de044c9
--- /dev/null
+++ b/ruoyi-ui/src/api/task.js
@@ -0,0 +1,247 @@
+import request from '@/utils/request'
+
+// 鏌ヨ浠诲姟绠$悊鍒楄〃
+export function listTask(query) {
+ return request({
+ url: '/task/list',
+ method: 'get',
+ params: query
+ })
+}
+
+// 鏌ヨ浠诲姟绠$悊璇︾粏
+export function getTask(taskId) {
+ return request({
+ url: '/task/' + taskId,
+ method: 'get'
+ })
+}
+
+// 鏂板浠诲姟绠$悊
+export function addTask(data) {
+ return request({
+ url: '/task',
+ method: 'post',
+ data: data
+ })
+}
+
+// 淇敼浠诲姟绠$悊
+export function updateTask(data) {
+ return request({
+ url: '/task',
+ method: 'put',
+ data: data
+ })
+}
+
+// 鍒犻櫎浠诲姟绠$悊
+export function delTask(taskIds) {
+ return request({
+ url: '/task/' + taskIds,
+ method: 'delete'
+ })
+}
+
+// 鍒嗛厤浠诲姟
+export function assignTask(taskId, data) {
+ return request({
+ url: '/task/' + taskId + '/assign',
+ method: 'put',
+ data: data
+ })
+}
+
+// 鏇存柊浠诲姟鐘舵��
+export function changeTaskStatus(taskId, data) {
+ return request({
+ url: '/task/' + taskId + '/status',
+ method: 'put',
+ data: data
+ })
+}
+
+// 鏌ヨ浠诲姟缁熻淇℃伅
+export function getTaskStatistics() {
+ return request({
+ url: '/task/statistics',
+ method: 'get'
+ })
+}
+
+// 鏌ヨ瓒呮椂浠诲姟鍒楄〃
+export function getOverdueTasks() {
+ return request({
+ url: '/task/overdue',
+ method: 'get'
+ })
+}
+
+// 鏌ヨ鎴戠殑浠诲姟鍒楄〃
+export function getMyTasks() {
+ return request({
+ url: '/task/my',
+ method: 'get'
+ })
+}
+
+// 涓婁紶浠诲姟闄勪欢
+export function uploadAttachment(taskId, file) {
+ const formData = new FormData()
+ formData.append('file', file)
+ return request({
+ url: '/task/attachment/upload/' + taskId,
+ method: 'post',
+ data: formData,
+ headers: {
+ 'Content-Type': 'multipart/form-data'
+ }
+ })
+}
+
+// 鍒犻櫎浠诲姟闄勪欢
+export function deleteAttachment(attachmentId) {
+ return request({
+ url: '/task/attachment/' + attachmentId,
+ method: 'delete'
+ })
+}
+
+// 鏌ヨ浠诲姟闄勪欢鍒楄〃
+export function getTaskAttachments(taskId) {
+ return request({
+ url: '/task/attachment/list/' + taskId,
+ method: 'get'
+ })
+}
+
+// 鏌ヨ浠诲姟鍏宠仈鐨勮溅杈嗗垪琛�
+export function getTaskVehicles(taskId) {
+ return request({
+ url: '/task/vehicle/list/' + taskId,
+ method: 'get'
+ })
+}
+
+// 鏌ヨ鍙敤杞﹁締鍒楄〃
+export function getAvailableVehicles(deptId, taskType) {
+ return request({
+ url: '/task/vehicle/available',
+ method: 'get',
+ params: { deptId, taskType }
+ })
+}
+
+// 鍒嗛厤杞﹁締缁欎换鍔�
+export function assignVehicleToTask(taskId, data) {
+ return request({
+ url: '/task/vehicle/assign/' + taskId,
+ method: 'post',
+ data: data
+ })
+}
+
+// 鎵归噺鍒嗛厤杞﹁締缁欎换鍔�
+export function assignVehiclesToTask(taskId, data) {
+ return request({
+ url: '/task/vehicle/assign-batch/' + taskId,
+ method: 'post',
+ data: data
+ })
+}
+
+// 鍙栨秷浠诲姟杞﹁締鍒嗛厤
+export function unassignVehicleFromTask(taskId, vehicleId) {
+ return request({
+ url: '/task/vehicle/' + taskId + '/' + vehicleId,
+ method: 'delete'
+ })
+}
+
+// ========== 浠诲姟杞﹁締鍏宠仈绠$悊鐩稿叧API ==========
+
+// 鏌ヨ浠诲姟杞﹁締鍏宠仈鍒楄〃
+export function listTaskVehicle(query) {
+ return request({
+ url: '/task/vehicle/management/list',
+ method: 'get',
+ params: query
+ })
+}
+
+// 鏌ヨ浠诲姟杞﹁締鍏宠仈璇︾粏
+export function getTaskVehicle(id) {
+ return request({
+ url: '/task/vehicle/management/' + id,
+ method: 'get'
+ })
+}
+
+// 鏂板浠诲姟杞﹁締鍏宠仈
+export function addTaskVehicle(data) {
+ return request({
+ url: '/task/vehicle/management',
+ method: 'post',
+ data: data
+ })
+}
+
+// 淇敼浠诲姟杞﹁締鍏宠仈
+export function updateTaskVehicle(data) {
+ return request({
+ url: '/task/vehicle/management',
+ method: 'put',
+ data: data
+ })
+}
+
+// 鍒犻櫎浠诲姟杞﹁締鍏宠仈
+export function delTaskVehicle(ids) {
+ return request({
+ url: '/task/vehicle/management/' + ids,
+ method: 'delete'
+ })
+}
+
+// 鏍规嵁浠诲姟ID鏌ヨ鍏宠仈杞﹁締鍒楄〃
+export function getVehiclesByTaskId(taskId) {
+ return request({
+ url: '/task/vehicle/management/task/' + taskId,
+ method: 'get'
+ })
+}
+
+// 鍒嗛厤杞﹁締缁欎换鍔★紙绠$悊鎺ュ彛锛�
+export function assignVehicleToTaskManagement(data) {
+ return request({
+ url: '/task/vehicle/management/assign',
+ method: 'post',
+ data: data
+ })
+}
+
+// 鎵归噺鍒嗛厤杞﹁締缁欎换鍔★紙绠$悊鎺ュ彛锛�
+export function assignVehiclesToTaskManagement(data) {
+ return request({
+ url: '/task/vehicle/management/assign-batch',
+ method: 'post',
+ data: data
+ })
+}
+
+// 鍙栨秷浠诲姟杞﹁締鍒嗛厤锛堢鐞嗘帴鍙o級
+export function unassignVehicleFromTaskManagement(taskId, vehicleId) {
+ return request({
+ url: '/task/vehicle/management/unassign/' + taskId + '/' + vehicleId,
+ method: 'delete'
+ })
+}
+
+// 鏇存柊浠诲姟杞﹁締鍏宠仈鐘舵��
+export function updateTaskVehicleStatus(id, status) {
+ return request({
+ url: '/task/vehicle/management/status/' + id,
+ method: 'put',
+ params: { status }
+ })
+}
\ No newline at end of file
--
Gitblit v1.9.1