From 3726999abe9196ac13d072d8e9e46803d9cd936e Mon Sep 17 00:00:00 2001
From: zhangwencui <1064582902@qq.com>
Date: 星期三, 27 五月 2026 17:12:03 +0800
Subject: [PATCH] 工资表应发工资和实发工资的计算
---
src/views/personnelManagement/monthlyStatistics/components/formDia.vue | 56 ++++++++++++++++++++++++++++++++++++++------------------
1 files changed, 38 insertions(+), 18 deletions(-)
diff --git a/src/views/personnelManagement/monthlyStatistics/components/formDia.vue b/src/views/personnelManagement/monthlyStatistics/components/formDia.vue
index 35ae756..6caa386 100644
--- a/src/views/personnelManagement/monthlyStatistics/components/formDia.vue
+++ b/src/views/personnelManagement/monthlyStatistics/components/formDia.vue
@@ -141,7 +141,7 @@
type="number"
placeholder="0"
size="small"
- @input="row.basicSalary = parseNum(row.basicSalary)" />
+ @input="calculateRow(row)" />
</template>
</el-table-column>
<el-table-column label="鐧界彮澶╂暟"
@@ -151,7 +151,7 @@
type="number"
placeholder="0"
size="small"
- @input="handleDaysChange(row)" />
+ @input="calculateRow(row)" />
</template>
</el-table-column>
<el-table-column label="澶滅彮澶╂暟"
@@ -161,7 +161,7 @@
type="number"
placeholder="0"
size="small"
- @input="handleDaysChange(row)" />
+ @input="calculateRow(row)" />
</template>
</el-table-column>
<el-table-column label="椁愯ˉ"
@@ -191,7 +191,7 @@
type="number"
placeholder="0"
size="small"
- @input="row.otherIncome = parseNum(row.otherIncome)" />
+ @input="calculateRow(row)" />
</template>
</el-table-column>
<el-table-column label="绀句繚涓汉"
@@ -201,7 +201,7 @@
type="number"
placeholder="0"
size="small"
- @input="row.socialPersonal = parseNum(row.socialPersonal)" />
+ @input="calculateRow(row)" />
</template>
</el-table-column>
<el-table-column label="鍏Н閲戜釜浜�"
@@ -211,7 +211,7 @@
type="number"
placeholder="0"
size="small"
- @input="row.fundPersonal = parseNum(row.fundPersonal)" />
+ @input="calculateRow(row)" />
</template>
</el-table-column>
<el-table-column label="鍏朵粬鏀嚭"
@@ -221,7 +221,7 @@
type="number"
placeholder="0"
size="small"
- @input="row.otherDeduct = parseNum(row.otherDeduct)" />
+ @input="calculateRow(row)" />
</template>
</el-table-column>
<el-table-column label="绀句繚琛ョ即"
@@ -231,7 +231,7 @@
type="number"
placeholder="0"
size="small"
- @input="row.socialSecurityRetroactive = parseNum(row.socialSecurityRetroactive)" />
+ @input="calculateRow(row)" />
</template>
</el-table-column>
<el-table-column label="宸ヨ祫涓◣"
@@ -241,7 +241,7 @@
type="number"
placeholder="0"
size="small"
- @input="row.salaryTax = parseNum(row.salaryTax)" />
+ @input="calculateRow(row)" />
</template>
</el-table-column>
<el-table-column label="搴斿彂宸ヨ祫"
@@ -251,7 +251,7 @@
type="number"
placeholder="0"
size="small"
- @input="row.grossSalary = parseNum(row.grossSalary)" />
+ disabled />
</template>
</el-table-column>
<el-table-column label="搴旀墸宸ヨ祫"
@@ -261,7 +261,7 @@
type="number"
placeholder="0"
size="small"
- @input="row.deductSalary = parseNum(row.deductSalary)" />
+ disabled />
</template>
</el-table-column>
<el-table-column label="瀹炲彂宸ヨ祫"
@@ -271,7 +271,7 @@
type="number"
placeholder="0"
size="small"
- @input="row.netSalary = parseNum(row.netSalary)" />
+ disabled />
</template>
</el-table-column>
<el-table-column label="澶囨敞"
@@ -414,23 +414,43 @@
});
};
- const handleDaysChange = row => {
+ const calculateRow = row => {
+ // 纭繚鎵�鏈夋暟鍊煎瓧娈典负鏁板瓧
+ row.basicSalary = parseNum(row.basicSalary);
row.dayDays = parseNum(row.dayDays);
row.nightDays = parseNum(row.nightDays);
+ row.otherIncome = parseNum(row.otherIncome);
+ row.socialPersonal = parseNum(row.socialPersonal);
+ row.fundPersonal = parseNum(row.fundPersonal);
+ row.otherDeduct = parseNum(row.otherDeduct);
+ row.socialSecurityRetroactive = parseNum(row.socialSecurityRetroactive);
+ row.salaryTax = parseNum(row.salaryTax);
- // 澶滅彮琛ヨ创璁$畻锛氬鐝ぉ鏁� * 鏍囧噯
+ // 1. 璁$畻澶滅彮琛ヨ创锛氬鐝ぉ鏁� * 鏍囧噯
row.nightAmount = row.nightDays * subsidyStandard.value.nightAmount;
- // 椁愯ˉ璁$畻锛氫粎闄愬洖鏃忥紝(鐧界彮 + 澶滅彮) * 鏍囧噯
- // 娉ㄦ剰锛歯ation 鍙兘鏄瓧鍏稿�硷紝杩欓噷鍋囪 "鍥炴棌" 鏄洿鎺ュ瓨鍌ㄧ殑瀛楃涓叉垨闇�瑕佹牴鎹瓧鍏稿垽鏂�
- // 涔嬪墠鐨� BasicInfoSection.vue 涓皯鏃忔槸涓嬫媺妗嗭紝閫氬父瀛樺偍鐨勬槸瀛楀吀鐨� value 鎴� label
- // 杩欓噷鍏堢畝鍗曞垽鏂寘鍚� "鍥�" 瀛楋紝鎴栬�呮偍鍙互鏍规嵁鍏蜂綋瀛楀吀鍊艰皟鏁�
+ // 2. 璁$畻椁愯ˉ锛氫粎闄愬洖鏃忥紝(鐧界彮 + 澶滅彮) * 鏍囧噯
if (row.nation && (row.nation === "鍥炴棌" || row.nation.includes("鍥�"))) {
row.mealAmount =
(row.dayDays + row.nightDays) * subsidyStandard.value.mealAmount;
} else {
row.mealAmount = 0;
}
+
+ // 3. 璁$畻搴斿彂宸ヨ祫 = 鍩烘湰宸ヨ祫 + 椁愯ˉ + 澶滅彮琛ュ姪 + 鍏朵粬鏀跺叆
+ row.grossSalary =
+ row.basicSalary + row.mealAmount + row.nightAmount + row.otherIncome;
+
+ // 4. 璁$畻搴旀墸宸ヨ祫 = 绀句繚涓汉 + 鍏Н閲戜釜浜� + 鍏朵粬鏀嚭 + 绀句繚琛ョ即 + 宸ヨ祫涓◣
+ row.deductSalary =
+ row.socialPersonal +
+ row.fundPersonal +
+ row.otherDeduct +
+ row.socialSecurityRetroactive +
+ row.salaryTax;
+
+ // 5. 璁$畻瀹炲彂宸ヨ祫 = 搴斿彂宸ヨ祫 - 搴旀墸宸ヨ祫
+ row.netSalary = row.grossSalary - row.deductSalary;
};
const taxTableData = ref([
{ level: 1, range: "涓嶈秴杩�36000鍏�", rate: 3, quickDeduction: 0 },
--
Gitblit v1.9.3