前端,后端,ai对接流程

位置:首页 / 技术中心 / trae

trae Admin 2026-08-29 16:32:53 55

# 配置管理模块接口对接


> **Workspace:** f:\qmkj\池州后台


---


**User**


src\views\salaryManagement\settings\index.vue,对接接口,参考doc\prd\贵池区社会工作部工资管理系统 · 后端接口对接文档.docx中的“9. 配置管理模块”,先在doc\prd生产对应的对接接口prd,我确认没有问题后,再开始对接接口


**Assistant**


我先查看相关文件,了解现状。




现在读取对接文档 docx 中「9. 配置管理模块」部分。docx 是压缩格式,我用 PowerShell 提取文本。




现在了解现有 Mock 数据与 store、API 约定。




查看社保管理页对 `salarySettings` 的依赖,评估改动影响面。




已掌握所有上下文。现在编写对接 PRD 文档。




清理临时解压文件。




对接 PRD 已生成:[系统设置模块-后端接口对接PRD.md](file:///f:/qmkj/池州后台/doc/prd/贵池区工资管理系统-系统设置模块-后端接口对接PRD.md)


## PRD 核心内容


**目标**:将 [settings/index.vue](file:///f:/qmkj/池州后台/src/views/salaryManagement/settings/index.vue) 从 Mock(`$store.state.salarySettings`)改为 API 驱动,新增 [settings.js](file:///f:/qmkj/池州后台/src/api/salaryManagement/settings.js) 封装 5 个配置模块接口(对齐 personnel 模块的 `/system/biz/*` 前缀约定)。


**5 个 Tab 对接方案**:


| Tab | 后端接口 | 关键差异 |

|---|---|---|

| 基础工资 | `baseSalaryConfig` | `identityType(试用/正式)` ↔ `personType(1/2)` |

| 三岗十八级 | `salaryConfig` | 后端是「职务+级别+年限区间」**扁平行**,前端需组装成「岗位×18级」网格,编辑时反查原行 PUT |

| 职业资格补贴 | `qualificationSubsidy` | `level→qualificationLevel`、`amount→subsidyAmount`,补齐增删改 |

| 社保配置 | `socialConfig` | **字段缺口**:后端仅列养老/医疗/失业个人比例,无单位比例、工伤/生育、基数上下限 |

| 调整类型 | `adjustType` | 补齐真实新增/编辑/删除(当前为模拟/无处理函数) |


## 需要你确认的关键事项(PRD 第八节)


- **Q1** 各配置表主键字段名?(如 `baseSalaryConfigId` 还是 `id`)

- **Q2** `socialConfig` 是否有「单位比例」「工伤/生育」字段?现页面展示 5 险种×(单位/个人)

- **Q3** 社保「缴费基数上下限」后端是否提供?当前接口文档未列出

- **Q5** `adjustType/list` 标注「form 表单提交」,前端用 POST+JSON 是否可行?


其余 Q4(网格是否展示年限区间列)、Q6(操作日志接口)、Q7(status 启用/停用列)可一并答复。


请确认 PRD 与上述问题后,我再按 S1→S8 开始对接接口。是否需要我先调整 PRD 的某个部分?


---


**User**


三岗十八级工资系数,对应的后端实体类如下,更新一下prd,package com.ruoyi.salary.domain;


import com.ruoyi.common.core.web.domain.BaseEntity;

import lombok.Data;

import lombok.EqualsAndHashCode;

import org.apache.ibatis.type.Alias;


import java.io.Serializable;

import java.math.BigDecimal;


/**

 * biz_salary_config 实体

 */

@Data

@EqualsAndHashCode(callSuper = true)

@Alias("BizSalaryConfig")

public class BizSalaryConfig extends BaseEntity implements Serializable {


    private static final long serialVersionUID = 1L;


    /** 配置ID */

    private Long configId;


    /** 岗位类型 */

    private String postType;


    /** 级别 */

    private Integer level;


    /** 该等级最小工作年限 */

    private Integer minYears;


    /** 该等级最大工作年限(null表示无上限) */

    private Integer maxYears;


    /** 工资系数 */

    private BigDecimal coefficient;


    /** 基础工资 */

    private BigDecimal baseSalary;


    /** 状态 */

    private String status;


}



**Assistant**


收到,用实体类信息更新 PRD。主要新增:主键 `configId`、`baseSalary` 字段、`maxYears=null` 表示无上限、`coefficient` 为 BigDecimal。




PRD 已按 `BizSalaryConfig` 实体更新完毕:[系统设置模块-后端接口对接PRD.md](file:///f:/qmkj/池州后台/doc/prd/贵池区工资管理系统-系统设置模块-后端接口对接PRD.md)


**本次更新内容**:


- **3.2 三岗十八级**:补充实体全字段(`configId` 主键、`baseSalary`、`maxYears=null` 表示无上限、`coefficient` 为 BigDecimal);编辑单元格时 `PUT` 整行,保留 `configId/minYears/maxYears/baseSalary/status` 防丢字段

- **API 层**:标注 `salaryConfig` 主键为 `configId`

- **前置依赖 / 风险**:新增 `baseSalary` 双口径风险(按等级 vs 按身份)

- **待确认事项**:新增 **Q8** —— 实体含 `baseSalary`(每级一个基础工资),与 9.1 `baseSalaryConfig` 模块(按人员身份维护)口径如何取舍?是否影响「基础工资标准」Tab 的展示拆分


**更新后待确认清单**:


- **Q1** 已确认 `salaryConfig` 主键 `configId`;其余三表(baseSalaryConfig / qualificationSubsidy / socialConfig)主键名待确认

- **Q8(新增)** `salaryConfig.baseSalary` 与 `baseSalaryConfig` 的口径关系

- Q2 / Q3(社保字段缺口)、Q5(adjustType 表单格式)、Q6(操作日志)、Q7(状态列)维持不变


请确认 PRD 与 Q1/Q2/Q3/Q5/Q8 等关键问题后,我即按 S1→S8 开始对接接口。


---


**User**


确认了。先对接“三岗十八级工资系数”,其他的之后再对接


**Assistant**


确认。现在开始对接「三岗十八级工资系数」:新增 API 层 + 改造系数网格 Tab(其余 Tab 保持 Mock 不动)。


先创建 API 文件。




Now update the view. First the template (grid source + loading).




Now the script: imports, data, mounted, and the coefficient methods.




验证代码是否有语法/诊断问题。




「三岗十八级工资系数」对接完成,两处改动均无诊断报错。


## 改动内容


**新增 [settings.js](file:///f:/qmkj/池州后台/src/api/salaryManagement/settings.js)**

- `listSalaryConfig`(GET `/system/biz/salaryConfig/list`)

- `updateSalaryConfig`(PUT `/system/biz/salaryConfig`,按 `configId` 整行提交)


**改造 [settings/index.vue](file:///f:/qmkj/池州后台/src/views/salaryManagement/settings/index.vue)**

- 系数网格不再读 `$store.state.salarySettings`,改为 [loadSalaryConfig](file:///f:/qmkj/池州后台/src/views/salaryManagement/settings/index.vue#L339-L354) 从 API 懒加载(默认 Tab 进入页面即拉取,仅拉一次)

- [assembleSalaryConfigGrid](file:///f:/qmkj/池州后台/src/views/salaryManagement/settings/index.vue#L356-L367):把后端扁平行按 `postType` 分组组装成「职务×18级」网格,仅取启用行(`status='0'`),未配置级别显示 `—` 不可编辑

- 保留原始行 `salaryConfigRows`(含 `configId/minYears/maxYears/baseSalary/status`)供编辑反查

- [saveCoefficient](file:///f:/qmkj/池州后台/src/views/salaryManagement/settings/index.vue#L376-L403):单元格编辑 → 反查原始行 → **整行 PUT**(只改 `coefficient`,避免丢字段),成功后本地同步网格并保留 `addOperationLog` 本地日志


## 未动的部分

- 其余 4 个 Tab(职业资格/基础工资/社保/调整类型)仍走 Mock,待后续按 PRD 逐步对接

- `settings` computed、`clone`、`SET_SETTINGS` 保留给其余 Tab 使用


## 验证建议

启动前端后打开「系统设置」页:网格应从后端 `/system/biz/salaryConfig/list` 渲染;点击系数单元格修改保存,应请求 PUT 且提示「工资系数已更新」。若后端返回的 `status` 不是 `'0'` 字符串(如布尔/空值),网格可能为空,告诉我实际返回格式我再调整过滤逻辑。


---


**User**


职业资格补贴标准,对应的后端实体类如下,更新一下prd,package com.ruoyi.salary.domain;


import com.ruoyi.common.core.web.domain.BaseEntity;

import lombok.Data;

import lombok.EqualsAndHashCode;

import org.apache.ibatis.type.Alias;


import java.io.Serializable;

import java.math.BigDecimal;


/**

 * biz_qualification_subsidy 实体

 */

@Data

@EqualsAndHashCode(callSuper = true)

@Alias("BizQualificationSubsidy")

public class BizQualificationSubsidy extends BaseEntity implements Serializable {


    private static final long serialVersionUID = 1L;


    /** 补贴ID */

    private Long subsidyId;


    /** 职业资格等级 */

    private String qualificationLevel;


    /** 月度补贴金额 */

    private BigDecimal subsidyAmount;


    /** 状态 */

    private String status;


}



**Assistant**


收到,用实体类信息更新 PRD(主键 `subsidyId`、`subsidyAmount` 为 BigDecimal)。




PRD 已更新:[系统设置模块-后端接口对接PRD.md](file:///f:/qmkj/池州后台/doc/prd/贵池区工资管理系统-系统设置模块-后端接口对接PRD.md)


**本次更新内容**:

- **3.3 职业资格补贴**:补充实体全字段 —— 主键 **`subsidyId`(已确认)**、`qualificationLevel`、`subsidyAmount`(BigDecimal)、`status`;编辑 `PUT` / 删除 `DELETE` 需携带 `subsidyId`

- **前置依赖 / Q1**:`qualificationSubsidy` 主键已确认;剩余待确认主键:`baseSalaryConfig`、`socialConfig`


三岗十八级已对接完成;职业资格补贴的 PRD 信息已就绪,等你说「对接」时我再开始实现(当前该 Tab 仍走 Mock)。


---


**User**


确认了。对接“职业资格补贴标准”,其他的之后再对接


**Assistant**


开始对接「职业资格补贴标准」:先在 API 层补充接口,再改造 Tab。




现在改造视图:模板 + 脚本。




「职业资格补贴标准」对接完成,无诊断报错。


## 改动内容


**[settings.js](file:///f:/qmkj/池州后台/src/api/salaryManagement/settings.js)** 新增 4 个接口:

- `listQualificationSubsidy`(GET `/system/biz/qualificationSubsidy/list`)

- `addQualificationSubsidy`(POST)

- `updateQualificationSubsidy`(PUT,按 `subsidyId` 整行)

- `delQualificationSubsidy`(DELETE `/{subsidyId}`)


**[settings/index.vue](file:///f:/qmkj/池州后台/src/views/salaryManagement/settings/index.vue)**:

- 表格不再读 Mock,改为 `qualificationList`,懒加载(首次切换到该 Tab 才拉取,watch `activeTab` 触发)

- 列字段映射:`level→qualificationLevel`、`amount→subsidyAmount`;[isBuiltinLevel](file:///f:/qmkj/池州后台/src/views/salaryManagement/settings/index.vue#L433-L435) 本地推导内置(无/初级/中级/高级)

- 状态列按后端 `status` 显示「启用中 / 已停用」

- 新增/编辑/删除全走 API,操作后强制刷新列表(`loadQualification(true)`);新增默认 `status:'0'`

- 编辑按 `subsidyId` 整行 PUT 只改金额;删除加了二次确认


## 未动的部分

- 其余 3 个 Tab(基础工资/社保/调整类型)仍走 Mock;`clone` 仅剩基础工资 Tab 在用


需要我继续对接「基础工资标准」(需你先提供 `baseSalaryConfig` 实体确认主键),还是先验证这两个 Tab?


---


**User**


基础工资标准,对应的后端实体类如下,更新一下prd,package com.ruoyi.salary.domain;


import com.ruoyi.common.core.web.domain.BaseEntity;

import lombok.Data;

import lombok.EqualsAndHashCode;

import org.apache.ibatis.type.Alias;


import java.io.Serializable;

import java.math.BigDecimal;

import java.time.LocalDate;


/**

 * biz_base_salary_config 实体

 */

@Data

@EqualsAndHashCode(callSuper = true)

@Alias("BizBaseSalaryConfig")

public class BizBaseSalaryConfig extends BaseEntity implements Serializable {


    private static final long serialVersionUID = 1L;


    /** 配置ID */

    private Long baseId;


    /** 人员身份 */

    private String personType;


    /** 基础工资基数 */

    private BigDecimal baseSalary;


    /** 生效日期 */

    private LocalDate effectiveDate;


    /** 状态 */

    private String status;


}



**Assistant**


收到,用实体类信息更新 PRD(主键 `baseId`、新增 `effectiveDate` 生效日期字段)。




PRD 已更新:[系统设置模块-后端接口对接PRD.md](file:///f:/qmkj/池州后台/doc/prd/贵池区工资管理系统-系统设置模块-后端接口对接PRD.md)


**本次更新内容**:

- **3.1 基础工资标准**:补充实体全字段 —— 主键 **`baseId`(已确认)**、`personType`、`baseSalary`(BigDecimal)、**`effectiveDate`(生效日期,文档 9.1 未列)**、`status`

- **前置依赖 / Q1**:`baseSalaryConfig` 主键已确认;剩余待确认主键仅 `socialConfig`

- **新增 Q9**:`effectiveDate` 是否需要前端展示「生效日期」列 / 是否按生效日期多档展示(同一 `personType` 可有多档历史配置?)


职业资格补贴已对接完成;基础工资标准的 PRD 信息已就绪,等你说「对接」时我再开始实现。


---


**User**


确认了。对接“基础工资标准”,其他的之后再对接


**Assistant**


开始对接「基础工资标准」:补充 API + 改造 Tab。






Now replace the base salary methods with API-driven versions.




检查 `clone` 是否已无引用,以及整体诊断。






`clone` 已无任何调用,删除死代码。






「基础工资标准」对接完成,无诊断报错。


## 改动内容


**[settings.js](file:///f:/qmkj/池州后台/src/api/salaryManagement/settings.js)** 新增:

- `listBaseSalaryConfig`(GET `/system/biz/baseSalaryConfig/list`)

- `updateBaseSalaryConfig`(PUT,按 `baseId` 整行)


**[settings/index.vue](file:///f:/qmkj/池州后台/src/views/salaryManagement/settings/index.vue)**:

- 表格改为 `baseSalaryList`(懒加载,首次切到该 Tab 拉取)

- `personTypeText` 映射:1→正式、2→试用

- **新增「生效日期」列**(`effectiveDate`)与「状态」列(启用/停用)

- 编辑按 `baseId` 整行 PUT 只改金额;编辑弹窗展示生效日期;保存后强制刷新

- 顺手删除了已无引用的 `clone` 死代码(Mock store 直写已全部移除)


## 已替你做的两个默认决策(对应待确认项)

- **Q7**(状态列):已在「职业资格」「基础工资」两 Tab 都加状态展示 —— 如需去掉请告知

- **Q9**(生效日期):已加「生效日期」列展示 —— 若同一 `personType` 会有多档历史配置,需要按生效日期做筛选或仅取最新,可再调整


## 未动的部分

- 社保配置、调整类型两个 Tab 仍走 Mock(`settings.socialInsuranceRates/socialInsuranceBaseLimits/salaryAdjustTypes`)


下一步可继续对接「社保配置」或「调整类型」,随时说。


---


**User**


“基础工资标准”去除接口中的config,比如`f:\qmkj\池州后台/src/api/salaryManagement/settings.js#L63-70`改为// 查询基础工资标准列表(后端分页)

export function listBaseSalaryConfig(query) {

  return request({

    url: "/system/biz/baseSalary/list",

    method: "get",

    params: query

  });

},同时更新prd


**Assistant**


现在更新 PRD 中的 URL。




已按「去除 URL 中的 config」更新,无诊断报错。


## 改动内容


**[settings.js](file:///f:/qmkj/池州后台/src/api/salaryManagement/settings.js)**

- `listBaseSalaryConfig`:`/system/biz/baseSalaryConfig/list` → `/system/biz/baseSalary/list`

- `updateBaseSalaryConfig`:`/system/biz/baseSalaryConfig` → `/system/biz/baseSalary`


**[PRD](file:///f:/qmkj/池州后台/doc/prd/贵池区工资管理系统-系统设置模块-后端接口对接PRD.md)**

- 第四节 API 代码片段 5 个接口 URL 同步改为 `/system/biz/baseSalary*`

- 接口清单表 9.1-1 ~ 9.1-5 URL 同步更新


模块名 `baseSalaryConfig`(实体/模块标识)保留未动,仅 URL 去掉了 `Config` 段。


---


**User**


社保配置,对应的后端实体类如下,更新一下prd,package com.ruoyi.salary.domain;


import com.ruoyi.common.core.web.domain.BaseEntity;

import lombok.Data;

import lombok.EqualsAndHashCode;

import org.apache.ibatis.type.Alias;


import java.io.Serializable;

import java.math.BigDecimal;


/**

 * biz_social_config 实体

 */

@Data

@EqualsAndHashCode(callSuper = true)

@Alias("BizSocialConfig")

public class BizSocialConfig extends BaseEntity implements Serializable {


    private static final long serialVersionUID = 1L;


    /** 配置ID */

    private Long configId;


    /** 配置年度 */

    private Integer configYear;


    /** 养老单位比例 */

    private BigDecimal pensionCompanyRate;


    /** 养老个人比例 */

    private BigDecimal pensionPersonalRate;


    /** 医疗单位比例 */

    private BigDecimal medicalCompanyRate;


    /** 医疗个人比例 */

    private BigDecimal medicalPersonalRate;


    /** 失业单位比例 */

    private BigDecimal unemploymentCompanyRate;


    /** 失业个人比例 */

    private BigDecimal unemploymentPersonalRate;


    /** 工伤单位比例 */

    private BigDecimal injuryCompanyRate;


    /** 生育单位比例 */

    private BigDecimal maternityCompanyRate;


    /** 基数下限 */

    private BigDecimal baseLower;


    /** 基数上限 */

    private BigDecimal baseUpper;


    /** 状态 */

    private String status;


}



**Assistant**


收到,用实体类信息更新 PRD。该实体信息量大:主键 `configId`、**含单位/个人比例与基数上下限**,Q2/Q3 字段缺口可据此解决。






PRD 已更新:[系统设置模块-后端接口对接PRD.md](file:///f:/qmkj/池州后台/doc/prd/贵池区工资管理系统-系统设置模块-后端接口对接PRD.md)


**本次更新内容**(该实体信息量大,直接解决了两个待确认项):


- **3.4 社保配置**:补充实体全字段 —— 主键 **`configId`(已确认)**、`configYear`、养老/医疗/失业的**单位+个人比例**、工伤/生育**仅单位比例**(个人不缴纳)、**`baseLower`/`baseUpper`(基数上下限)**、`status`

- **Q2 ✅ 已解决**:实体含全部 5 险种比例(含单位比例、工伤/生育),口径与前端一致

- **Q3 ✅ 已解决**:实体含 `baseLower/baseUpper`,按 `configYear` 记录,基数上下限表有数据来源

- **Q1 ✅ 全部解决**:四表主键已确认(configId / subsidyId / baseId / configId)

- **5.5**:社保 Tab 改为按 `configYear` 记录派生 5 险种比例 + 基数上下限

- **新增 Q10**:社保配置 Tab 展示交互 —— 缴费比例表按「年度选择」展示单一年度,还是按年度分组全部展示?


## 当前待确认项(剩余)

- **Q10** 社保配置 Tab 展示交互(对接前需定)

- Q4(网格年限区间列)、Q5(adjustType 表单格式)、Q6(操作日志)、Q7(状态列已默认加上)、Q8(baseSalary 双口径)、Q9(生效日期多档)


社保配置的 PRD 信息已就绪,等你说「对接」时我再实现(届时 Q10 若未答,我会按「最新年度展示比例 + 全部年度展示基数上下限」的默认方案做)。


---


**User**


确认了。对接“社保配置”,其他的之后再对接


**Assistant**


开始对接「社保配置」:Q10 未答复,按既定默认方案「最新年度展示比例 + 全部年度展示基数上下限」实现。先补 API。






Now the social security tab template.




「社保配置」对接完成,无诊断报错。


## 改动内容


**[settings.js](file:///f:/qmkj/池州后台/src/api/salaryManagement/settings.js)** 新增 `listSocialConfig`(GET `/system/biz/socialConfig/list`)


**[settings/index.vue](file:///f:/qmkj/池州后台/src/views/salaryManagement/settings/index.vue)**:

- 两个子表均改为 API 驱动,懒加载(首次切到该 Tab 拉取)

- 新增 computed:

  - [socialInsuranceRates](file:///f:/qmkj/池州后台/src/views/salaryManagement/settings/index.vue#L364-L373):取**最新年度**记录派生 5 险种比例,工伤/生育个人比例恒为 0

  - [socialInsuranceBaseLimits](file:///f:/qmkj/池州后台/src/views/salaryManagement/settings/index.vue#L376-L380):**全部年度**按倒序展示 `baseLower/baseUpper`

- 缴费比例表标题展示当前生效年度(`latestConfigYear`),两个表加了 loading

- 保持只读展示,无新增编辑交互(与现状一致)


## 已按 Q10 默认方案实现

最新年度展示比例 + 全部年度展示基数上下限。若后续需要「年度选择器」切换查看历史年度比例,告诉我再加。


## 提醒(PRD 已标注的跨模块影响)

社保管理页 [socialSecurity/index.vue](file:///f:/qmkj/池州后台/src/views/salaryManagement/socialSecurity/index.vue) 仍读 Mock 的 `socialInsuranceBaseLimits`(`currentBaseLimit`),settings 页已不再写 store,该页后续需单独改造。


剩余最后 1 个 Tab「调整类型」(`adjustType`)仍走 Mock,随时可继续对接。


---


**User**


社保配置,对应的后端实体类如下,更新一下prd,package com.ruoyi.salary.domain;


import com.ruoyi.common.core.web.domain.BaseEntity;

import lombok.Data;

import lombok.EqualsAndHashCode;

import org.apache.ibatis.type.Alias;


import java.io.Serializable;


/**

 * biz_adjust_type 实体

 * 薪资调整类型字典(维护系统支持的薪资调整类型)

 */

@Data

@EqualsAndHashCode(callSuper = true)

@Alias("BizAdjustType")

public class BizAdjustType extends BaseEntity implements Serializable {


    private static final long serialVersionUID = 1L;


    /** 类型ID */

    private Long adjustTypeId;


    /** 类型名称 */

    private String typeName;


    /** 类型编码 */

    private String typeCode;


    /** 说明 */

    private String description;


    /** 是否需审核(1需要两级审核 0无需审核) */

    private String needAudit;


    /** 状态(0正常 1停用) */

    private String status;


}



**Assistant**


收到,更新 PRD 的「调整类型」模块(`BizAdjustType`,主键 `adjustTypeId`,Q1 四表主键至此全部确认)。








Now update the API comment and Q1 references.




PRD 已更新:[系统设置模块-后端接口对接PRD.md](file:///f:/qmkj/池州后台/doc/prd/贵池区工资管理系统-系统设置模块-后端接口对接PRD.md)


> 注:你消息里写的是「社保配置」,但实体类是 `BizAdjustType`(调整类型),我按**调整类型模块**更新了 PRD。


**本次更新内容**:

- **3.5 调整类型**:补充实体全字段 —— 主键 **`adjustTypeId`(已确认)**、`typeName`、`typeCode`、`description`、`needAudit`('1' 需两级审核 / '0' 无需审核,**前端需做 boolean ↔ '0'/'1' 转换**)、`status`

- 更正字段名:文档假设的 `adjustTypeName/adjustTypeCode/needsApproval` → 实际 `typeName/typeCode/needAudit`

- **Q1 ✅ 全部解决**:五表主键全部确认(configId / subsidyId / baseId / configId / adjustTypeId)

- 5.6 改造方案同步更正字段名


## 当前待确认项(剩余)

- **Q5** adjustType/list 的「form 表单提交」格式(对接前需定)

- Q4(网格年限区间列)、Q6(操作日志)、Q8(baseSalary 双口径)、Q9(生效日期多档)、Q10(社保年度切换,已按默认方案实现)


调整类型的 PRD 信息已就绪,等你说「对接」时我再实现(届时 Q5 若未答,我会按 POST+JSON 封装,若后端返回 415/400 再切换表单格式)。


---


**User**


确认了。对接“调整类型”,并补充`f:\qmkj\池州后台/src/views/salaryManagement/settings/index.vue#L189-195`中的“新增类型”弹窗,`f:\qmkj\池州后台/src/views/salaryManagement/settings/index.vue#L213-217`中的“编辑”弹窗


**Assistant**


开始对接「调整类型」并补上新增/编辑弹窗。先读取当前调整类型 Tab 模板与脚本结构。




现在在基础工资 Dialog 之后新增调整类型 Dialog。






现在补充 API 层。






「调整类型」对接完成,含新增/编辑弹窗,无诊断报错。至此**系统设置 5 个 Tab 已全部对接后端**。


## 改动内容


**[settings.js](file:///f:/qmkj/池州后台/src/api/salaryManagement/settings.js)** 新增 4 个接口:

- `listAdjustType`(POST `/system/biz/settings/adjustType/list`)

- `addAdjustType`(POST)、`updateAdjustType`(PUT)、`delAdjustType`(DELETE `/adjustType/adjustType/{id}`)


**[settings/index.vue](file:///f:/qmkj/池州后台/src/views/salaryManagement/settings/index.vue)**:

- 表格改 `adjustTypeList`(懒加载),字段 `typeName/typeCode/description/needAudit/status`,新增「状态」列

- **新增类型弹窗**:[openAddAdjustType](file:///f:/qmkj/池州后台/src/views/salaryManagement/settings/index.vue#L695-L704) → [saveAdjustType](file:///f:/qmkj/池州后台/src/views/salaryManagement/settings/index.vue#L720-L749)(表单校验,`needAudit` 用 el-switch 做 '0'/'1' 转换)

- **编辑弹窗**:[openEditAdjustType](file:///f:/qmkj/池州后台/src/views/salaryManagement/settings/index.vue#L705-L719) 回填 → 按 `adjustTypeId` 整行 PUT

- **删除按钮**:[handleAdjustTypeDelete](file:///f:/qmkj/池州后台/src/views/salaryManagement/settings/index.vue#L750-L770) 二次确认 → DELETE

- 移除已无引用的 `settings` computed(最后一个 Mock 依赖清理完毕)


## 待留意

- **Q5** 未答复:`listAdjustType` 按 POST+JSON 封装,若后端返回 415/400 需改表单格式,届时告诉我

- 删除接口路径含双 `/adjustType/` 段(`.../settings/adjustType/adjustType/{id}`)系按后端文档约定,若后端实际是单段,测试时告知我调整


系统设置模块接口对接全部完成。PRD 中的跨模块项(社保管理页 `currentBaseLimit` 仍读 Mock)未在本次范围内,如需继续可另行安排。


---


**User**


将“调整类型”中的settings去掉比如`f:\qmkj\池州后台/src/api/salaryManagement/settings.js#L95-102`改为// 分页查询调整类型列表

export function listAdjustType(data) {

  return request({

    url: "/system/biz/adjustType/list",

    method: "post",

    data: data

  });

}


**Assistant**


去掉 adjustType 接口 URL 中的 `/settings/` 段,同步更新代码与 PRD。




Now update the PRD (API snippet + interface table).




已去掉 adjustType 接口 URL 中的 `/settings/` 段,无诊断报错。


## 改动内容


**[settings.js](file:///f:/qmkj/池州后台/src/api/salaryManagement/settings.js)**

- `listAdjustType`:`/system/biz/settings/adjustType/list` → `/system/biz/adjustType/list`

- `addAdjustType` / `updateAdjustType`:→ `/system/biz/adjustType`

- `delAdjustType`:→ `/system/biz/adjustType/adjustType/{id}`(双 `/adjustType/` 段保留,按后端约定)


**[PRD](file:///f:/qmkj/池州后台/doc/prd/贵池区工资管理系统-系统设置模块-后端接口对接PRD.md)**

- 第四节 API 代码片段 5 个接口 URL 同步去掉 `/settings/`

- 接口清单表 9.5-1 ~ 9.5-5、数据源对照表同步更新

- 顺手修正第二节「现状 vs 目标」中社保两行的过期描述(Q2/Q3 已解决,字段缺口表述清除)


系统设置 5 个 Tab 的接口对接均已按最新 URL 约定完成。


---


**User**


`f:\qmkj\池州后台/src/api/salaryManagement/settings.js#L93-102`改为get请求


**Assistant**


将 `listAdjustType` 改为 GET 请求,同步更新代码与 PRD。






Now update the PRD (API snippet + interface table + relevant mentions).




`listAdjustType` 已改为 GET 请求,无诊断报错。


## 改动内容


**[settings.js](file:///f:/qmkj/池州后台/src/api/salaryManagement/settings.js)**:

- `listAdjustType`:`method: "post"` + `data` → `method: "get"` + `params: query`,参数名改为 `query`,并删除「POST 表单提交」的注释


**[PRD](file:///f:/qmkj/池州后台/doc/prd/贵池区工资管理系统-系统设置模块-后端接口对接PRD.md)**:

- API 代码片段、接口清单表 9.5-1、第二节现状对照表同步改为 GET 查询

- **Q5 ✅ 已解决**:`adjustType/list` 确认为 GET

- S1 实施步骤去除 Q5 依赖


至此系统设置模块的接口约定全部确定(Q5 已解决,剩余 Q4/Q6/Q7/Q8/Q9/Q10 为展示细节待确认)。


---


18455111359 扫描二维码