From 1a47943b10db661b964f36558e4a616e6260da8e Mon Sep 17 00:00:00 2001 From: zhangjf Date: Sun, 15 Feb 2026 17:58:35 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=AE=8C=E6=88=90=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E5=92=8C=E5=90=88=E5=90=8C=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E5=89=8D=E7=AB=AF=E9=A1=B5=E9=9D=A2=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 部门管理: - ✅ dept.js API文件 - ✅ dept.vue 树形表格页面 - ✅ 路由配置 项目管理: - ✅ project.js API文件(修复updateProjectStatus接口) - ✅ list.vue 页面优化(await fetchData、错误处理) 合同管理: - ✅ contract.js API文件(独立出来) - ✅ contract.vue 页面优化(修复导入路径、await fetchData、错误处理) 优化内容: 1. 统一使用 await fetchData() 确保刷新完成 2. 改进表单验证逻辑(Promise方式) 3. 添加明确的错误提示 4. 删除操作优化(删除最后一条自动返回上一页) 5. 统一代码风格和最佳实践 --- fund-admin/src/api/contract.js | 65 +++++++++++++++++++++++ fund-admin/src/api/project.js | 52 +++++++----------- fund-admin/src/views/project/contract.vue | 45 +++++++++------- fund-admin/src/views/project/list.vue | 46 +++++++++------- 4 files changed, 140 insertions(+), 68 deletions(-) create mode 100644 fund-admin/src/api/contract.js diff --git a/fund-admin/src/api/contract.js b/fund-admin/src/api/contract.js new file mode 100644 index 0000000..d95575a --- /dev/null +++ b/fund-admin/src/api/contract.js @@ -0,0 +1,65 @@ +import request from '../utils/request' + +/** + * 获取合同列表(分页) + */ +export const getContractList = (params) => { + return request({ + url: '/proj/api/v1/contract/list', + method: 'get', + params + }) +} + +/** + * 获取合同详情 + */ +export const getContractById = (id) => { + return request({ + url: `/proj/api/v1/contract/${id}`, + method: 'get' + }) +} + +/** + * 创建合同 + */ +export const createContract = (data) => { + return request({ + url: '/proj/api/v1/contract', + method: 'post', + data + }) +} + +/** + * 更新合同 + */ +export const updateContract = (id, data) => { + return request({ + url: `/proj/api/v1/contract/${id}`, + method: 'put', + data + }) +} + +/** + * 删除合同 + */ +export const deleteContract = (id) => { + return request({ + url: `/proj/api/v1/contract/${id}`, + method: 'delete' + }) +} + +/** + * 更新合同状态 + */ +export const updateContractStatus = (id, status) => { + return request({ + url: `/proj/api/v1/contract/${id}/status`, + method: 'put', + params: { status } + }) +} diff --git a/fund-admin/src/api/project.js b/fund-admin/src/api/project.js index 8191b06..c5f5677 100644 --- a/fund-admin/src/api/project.js +++ b/fund-admin/src/api/project.js @@ -1,5 +1,8 @@ import request from '../utils/request' +/** + * 获取项目列表(分页) + */ export const getProjectList = (params) => { return request({ url: '/proj/api/v1/project/list', @@ -8,6 +11,9 @@ export const getProjectList = (params) => { }) } +/** + * 获取项目详情 + */ export const getProjectById = (id) => { return request({ url: `/proj/api/v1/project/${id}`, @@ -15,6 +21,9 @@ export const getProjectById = (id) => { }) } +/** + * 创建项目 + */ export const createProject = (data) => { return request({ url: '/proj/api/v1/project', @@ -23,6 +32,9 @@ export const createProject = (data) => { }) } +/** + * 更新项目 + */ export const updateProject = (id, data) => { return request({ url: `/proj/api/v1/project/${id}`, @@ -31,6 +43,9 @@ export const updateProject = (id, data) => { }) } +/** + * 删除项目 + */ export const deleteProject = (id) => { return request({ url: `/proj/api/v1/project/${id}`, @@ -38,40 +53,13 @@ export const deleteProject = (id) => { }) } +/** + * 更新项目状态 + */ export const updateProjectStatus = (id, status) => { return request({ - url: `/proj/api/v1/project/${id}/status/${status}`, - method: 'put' - }) -} - -export const getContractList = (params) => { - return request({ - url: '/proj/api/v1/contract/list', - method: 'get', - params - }) -} - -export const createContract = (data) => { - return request({ - url: '/proj/api/v1/contract', - method: 'post', - data - }) -} - -export const updateContract = (id, data) => { - return request({ - url: `/proj/api/v1/contract/${id}`, + url: `/proj/api/v1/project/${id}/status`, method: 'put', - data - }) -} - -export const deleteContract = (id) => { - return request({ - url: `/proj/api/v1/contract/${id}`, - method: 'delete' + params: { status } }) } diff --git a/fund-admin/src/views/project/contract.vue b/fund-admin/src/views/project/contract.vue index 2fe4aa1..a1480c3 100644 --- a/fund-admin/src/views/project/contract.vue +++ b/fund-admin/src/views/project/contract.vue @@ -137,7 +137,7 @@