diff --git a/src/api/order.ts b/src/api/order.ts index 73c31f1..5cf02f1 100644 --- a/src/api/order.ts +++ b/src/api/order.ts @@ -1,18 +1,18 @@ import http from '@/utils/http' -import type { ApiResponse, Order, OrderDetailResponse, ListParams, ApprovalParams, CompletedApprovalItem, CompletedListParams } from '@/types' +import type { ApiResponse, Order, OrderDetailResponse, ListParams, CompletedApprovalItem, CompletedListParams, BatchApprovalParams } from '@/types' import type { AxiosResponse } from 'axios' /** - * 获取订单列表 + * 获取待审批订单列表 */ export const getOrderList = (params: ListParams): Promise>> => { - // 创建FormData对象 + // 创建一个新的FormData对象 const formData = new FormData() - // 添加参数到FormData + // 动态地将params中的所有键值对添加到formData中 if (params.approve) formData.append('approve', params.approve) formData.append('page', params.page.toString()) formData.append('pageSize', params.pageSize.toString()) @@ -29,23 +29,23 @@ export const getOrderDetail = (id: string | number): Promise>> => { - // 创建FormData对象 + // 创建一个新的FormData对象 const formData = new FormData() - // 将所有参数添加到FormData中 + // 动态地将params中的所有键值对添加到formData中 Object.keys(params).forEach(key => { if (params[key] !== undefined && params[key] !== null) { - // 特殊处理variables参数,它应该是一个对象 + // 如果字段是variables,它是一个对象,需要特殊处理 if (key === 'variables' && typeof params[key] === 'object' && params[key] !== null) { - // 将variables对象的每个属性单独添加到FormData中 + // 将variables对象中的每个键值对添加到formData Object.keys(params[key]).forEach(variableKey => { if (params[key][variableKey] !== undefined && params[key][variableKey] !== null) { - formData.append(`variables[${variableKey}]`, params[key][variableKey].toString()) + formData.append(`variables[${variableKey}]`, params[key][variableKey].toString()); } - }) + }); } else if (key === 'taxRateData' && Array.isArray(params[key])) { // 特殊处理taxRateData数组 params[key].forEach((item: any, index: number) => { @@ -71,14 +71,21 @@ export const getCompletedOrderList = (params: CompletedListParams): Promise>> => { - // 创建FormData对象 + // 创建一个新的FormData对象 const formData = new FormData() - // 添加参数到FormData + // 动态地将params中的所有键值对添加到formData中 formData.append('page', params.page.toString()) formData.append('pageSize', params.pageSize.toString()) if (params.businessName) formData.append('businessName', params.businessName) - if (params.processKeyList) formData.append('processKeyList', params.processKeyList) + if (params.processKeyList) formData.append('processKeyList', params.processKeyList.join(',')) return http.post('/flow/completed/list', formData) +} + +/** + * 批量审批 + */ +export const batchApproval = (params: BatchApprovalParams): Promise>> => { + return http.post('/project/order/order/approve/batch', params) } \ No newline at end of file diff --git a/src/store/order.ts b/src/store/order.ts index b34712a..a327756 100644 --- a/src/store/order.ts +++ b/src/store/order.ts @@ -1,6 +1,6 @@ import { defineStore } from 'pinia' -import type { Order, OrderDetailResponse, ListParams, CompletedApprovalItem, CompletedListParams } from '@/types' -import { getOrderList, getOrderDetail, getCompletedOrderList } from '@/api/order' +import type { Order, OrderDetailResponse, ListParams, CompletedApprovalItem, CompletedListParams, BatchApprovalParams } from '@/types' +import { getOrderList, getOrderDetail, getCompletedOrderList, batchApproval } from '@/api/order' interface OrderState { // 待审批列表相关 @@ -220,6 +220,18 @@ export const useOrderStore = defineStore('order', { } }, + /** + * 批量审批 + */ + async batchApproval(params: BatchApprovalParams) { + try { + const response = await batchApproval(params) + return response + } catch (error) { + throw error + } + }, + /** * 搜索已审批订单 */ diff --git a/src/types/index.ts b/src/types/index.ts index 198113e..9c34089 100644 --- a/src/types/index.ts +++ b/src/types/index.ts @@ -242,6 +242,14 @@ export interface CompletedListParams { processKeyList: Array } +// 批量审批参数 +export interface BatchApprovalParams { + variables: { + approveBtn: ApproveBtn + comment: string + } +} + // ============= 采购相关类型定义 ============= // 采购订单信息类型 diff --git a/src/utils/http.ts b/src/utils/http.ts index 3207a32..fbfbe70 100644 --- a/src/utils/http.ts +++ b/src/utils/http.ts @@ -77,7 +77,9 @@ class HttpClient { message = data?.msg || `请求失败 (${status})` } } else if (error.request) { - message = '网络连接失败' + message = '会话已过期,请重新登录' + localStorage.removeItem('isAuthenticated') + window.location.href = '/login' } showFailToast(message) diff --git a/src/views/List/index.vue b/src/views/List/index.vue index a36a656..1019991 100644 --- a/src/views/List/index.vue +++ b/src/views/List/index.vue @@ -36,7 +36,7 @@ 待审批 - +
项目名称: @@ -81,7 +81,7 @@ {{ getCompletedStatusText(item.approveStatus) }}
- +
合同名称: @@ -114,16 +114,98 @@ + + + + + + +
+
+ 审批意见 + +
+
+ +
+
常用意见
+
+ + {{ tag }} + +
+
+
+ +
+
+ +
+