From 348c0396ebc2ae9ce95a349072c9d08851cfc6c2 Mon Sep 17 00:00:00 2001 From: Maple <869445424@qq.com> Date: Fri, 8 Aug 2025 10:49:58 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E6=94=B6=E5=85=A5=E5=90=88=E5=90=8C?= =?UTF-8?q?=E7=9A=84=E8=AF=A6=E6=83=85=E4=BB=A5=E5=8F=8A=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=EF=BC=8C=E4=BB=A5=E5=8F=8A=E5=AE=8C=E6=88=90=E5=92=8C=E5=90=8E?= =?UTF-8?q?=E7=AB=AFapi=E7=9A=84=E8=B0=83=E7=94=A8=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/types/auto-imports.d.ts | 2 +- src/utils/http.ts | 20 +- .../revenue-contract/ContractDetail.vue | 155 +++++++++ .../contract/revenue-contract/index.vue | 314 ++++++++++-------- 4 files changed, 342 insertions(+), 149 deletions(-) create mode 100644 src/views/project-management/contract/revenue-contract/ContractDetail.vue diff --git a/src/types/auto-imports.d.ts b/src/types/auto-imports.d.ts index 9026869..6a35f3a 100644 --- a/src/types/auto-imports.d.ts +++ b/src/types/auto-imports.d.ts @@ -69,6 +69,6 @@ declare global { // for type re-export declare global { // @ts-ignore - export type { Component, ComponentPublicInstance, ComputedRef, DirectiveBinding, ExtractDefaultPropTypes, ExtractPropTypes, ExtractPublicPropTypes, InjectionKey, PropType, Ref, MaybeRef, MaybeRefOrGetter, VNode, WritableComputedRef } from 'vue' + export type { Component, ComponentPublicInstance, ComputedRef, ExtractDefaultPropTypes, ExtractPropTypes, ExtractPublicPropTypes, InjectionKey, PropType, Ref, VNode, WritableComputedRef } from 'vue' import('vue') } diff --git a/src/utils/http.ts b/src/utils/http.ts index 063186a..5894b18 100644 --- a/src/utils/http.ts +++ b/src/utils/http.ts @@ -70,10 +70,10 @@ http.interceptors.response.use( if (data && data.rows !== undefined && data.data === undefined) { data.data = data.rows } - + // 兼容不同的API响应结构 const { success, code, msg } = data - + // 检查响应类型是否是blob if (response.request.responseType === 'blob') { const contentType = data.type @@ -96,7 +96,7 @@ http.interceptors.response.use( return response } } - + // 判断请求是否成功:明确的success字段为true,或者code为200都视为成功 const isSuccess = success !== undefined ? success : (code === 200 || code === '200') if (isSuccess) { @@ -139,17 +139,17 @@ const request = async (config: AxiosRequestConfig): Promise { // 处理返回数据结构,兼容rows和data字段 const responseData = res.data - + // 如果返回的数据中有rows字段但没有data字段,将rows赋值给data if (responseData.rows !== undefined && responseData.data === undefined) { responseData.data = responseData.rows } - + // 如果返回的code是200但没有设置success字段,将success设置为true if ((responseData.code === 200 || responseData.code === '200') && responseData.success === undefined) { responseData.success = true } - + return responseData }) .catch((err: { msg: string }) => Promise.reject(err)) @@ -168,7 +168,7 @@ const requestRaw = async (config: AxiosRequestConfig): Promise { @@ -183,7 +183,7 @@ const requestRaw = async (config: AxiosRequestConfig): Promise Promise.reject(error), ) - + return rawAxios.request(config) } @@ -225,3 +225,7 @@ export default { requestRaw, download, } + +export const updateContract = (contractId, contractData) => { + return http.put(`/contract/${contractId}`, contractData) +} diff --git a/src/views/project-management/contract/revenue-contract/ContractDetail.vue b/src/views/project-management/contract/revenue-contract/ContractDetail.vue new file mode 100644 index 0000000..dbba383 --- /dev/null +++ b/src/views/project-management/contract/revenue-contract/ContractDetail.vue @@ -0,0 +1,155 @@ + + + + + diff --git a/src/views/project-management/contract/revenue-contract/index.vue b/src/views/project-management/contract/revenue-contract/index.vue index 6a6c018..0e79d54 100644 --- a/src/views/project-management/contract/revenue-contract/index.vue +++ b/src/views/project-management/contract/revenue-contract/index.vue @@ -1,28 +1,28 @@ \ No newline at end of file +