From 057ef771c0d3c2d3c49be6b450b21029b642a746 Mon Sep 17 00:00:00 2001
From: tuqin <tuqin@tuqin.cn>
Date: 星期六, 24 十月 2026 13:59:32 +0800
Subject: [PATCH] fix(hrm): 薪酬核算「确认」前自动保存行内修改(方案A)
---
src/views/hrm/salary/calculation/index.vue | 20 ++++++++++++++++++--
1 files changed, 18 insertions(+), 2 deletions(-)
diff --git a/src/views/hrm/salary/calculation/index.vue b/src/views/hrm/salary/calculation/index.vue
index 77e4204..1636793 100644
--- a/src/views/hrm/salary/calculation/index.vue
+++ b/src/views/hrm/salary/calculation/index.vue
@@ -152,20 +152,36 @@
previewData.value = [];
}
-/** 纭钖叕鏍哥畻 */
+/** 鎶婅鍐呯紪杈戠殑鏂囨湰鍊煎綊涓�涓烘暟瀛楀悗鎻愪氦淇濆瓨 */
+async function saveRowEdits(row: any) {
+ const payload: any = { ...row };
+ EDITABLE_NUMBER_FIELDS.forEach((f) => {
+ payload[f] = toNumberOrZero(payload[f]);
+ });
+ await updateSalaryCalculation(payload);
+}
+
+/** 纭钖叕鏍哥畻锛堟柟妗圓锛氱‘璁ゅ墠鍏堜繚瀛樺綋鍓嶈鐨勪慨鏀癸紝閬垮厤銆屾敼浜嗘病淇濆瓨灏辩‘璁ゃ�嶅鑷撮噾棰濅涪澶憋級 */
async function handleConfirm(row: HrmSalaryCalculationApi.SalaryCalculation) {
+ if (row.status === 0) {
+ await saveRowEdits(row);
+ }
await confirmSalary([row.id!]);
message.success('纭鎴愬姛');
handleRefresh();
}
-/** 鎵归噺纭閫変腑鐨勮褰� */
+/** 鎵归噺纭閫変腑鐨勮褰曪紙鍚屾牱鍏堜繚瀛樺嬀閫夌殑寰呯‘璁よ褰曪紝鍐嶇‘璁わ級 */
async function handleBatchConfirm() {
const records = gridApi.grid.getCheckboxRecords() as HrmSalaryCalculationApi.SalaryCalculation[];
if (records.length === 0) {
message.warning('璇烽�夋嫨瑕佺‘璁ょ殑璁板綍');
return;
}
+ const pending = records.filter((r) => r.status === 0);
+ for (const row of pending) {
+ await saveRowEdits(row);
+ }
const ids = records.map((r) => r.id!);
await confirmSalary(ids);
message.success('纭鎴愬姛');
--
Gitblit v1.9.3