From 5cd5a5baa076377f3136338db7a9336d0d570d33 Mon Sep 17 00:00:00 2001
From: tuqin <tuqin@tuqin.cn>
Date: 星期六, 24 十月 2026 19:47:33 +0800
Subject: [PATCH] feat(hrm): 前端同步新疆中亿装配的人力资源模块
---
src/views/hrm/salary/social-security-scheme/data.ts | 101 +++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 98 insertions(+), 3 deletions(-)
diff --git a/src/views/hrm/salary/social-security-scheme/data.ts b/src/views/hrm/salary/social-security-scheme/data.ts
index 1981c08..e05ed44 100644
--- a/src/views/hrm/salary/social-security-scheme/data.ts
+++ b/src/views/hrm/salary/social-security-scheme/data.ts
@@ -5,10 +5,23 @@
/** 琛ㄥ崟绫诲瀷 */
export type FormType = 'create' | 'update';
-/** 鏍煎紡鍖栨瘮渚嬭緭鍏� */
+/** 鏍煎紡鍖栨瘮渚嬭緭鍏ワ紙缁熶竴鏄剧ず涓や綅灏忔暟鐧惧垎姣旓紝濡� 8.25%锛� */
function createRatioFormatter(step: number = 0.01) {
return {
- formatter: (value: number) => value !== undefined && value !== null ? `${(value * 100).toFixed(step === 0.001 ? 1 : 0)}%` : '',
+ formatter: (value: number) =>
+ value !== undefined && value !== null ? `${(value * 100).toFixed(2)}%` : '',
+ parser: (value: string) => {
+ const num = parseFloat(String(value).replace('%', ''));
+ return isNaN(num) ? 0 : num / 100;
+ },
+ };
+}
+
+/** 鏍煎紡鍖栨瘮渚嬭緭鍏ワ紙鏄剧ず涓や綅灏忔暟锛屽 0.50%锛� */
+function createRatioFormatter2() {
+ return {
+ formatter: (value: number) =>
+ value !== undefined && value !== null ? `${(value * 100).toFixed(2)}%` : '',
parser: (value: string) => {
const num = parseFloat(value.replace('%', ''));
return isNaN(num) ? 0 : num / 100;
@@ -200,6 +213,76 @@
...createRatioFormatter(0.001),
},
},
+ // 澶х梾鍖荤枟
+ {
+ fieldName: 'divider_serious_illness',
+ label: '澶х梾鍖荤枟',
+ component: 'Divider',
+ formItemClass: 'col-span-2',
+ },
+ {
+ fieldName: 'seriousIllnessCompanyRatio',
+ label: '浼佷笟姣斾緥',
+ component: 'InputNumber',
+ componentProps: {
+ placeholder: '浼佷笟缂寸撼姣斾緥',
+ min: 0,
+ max: 1,
+ step: 0.0001,
+ precision: 4,
+ style: { width: '100%' },
+ ...createRatioFormatter2(),
+ },
+ },
+ {
+ fieldName: 'seriousIllnessPersonalRatio',
+ label: '涓汉姣斾緥',
+ component: 'InputNumber',
+ componentProps: {
+ placeholder: '涓汉缂寸撼姣斾緥',
+ min: 0,
+ max: 1,
+ step: 0.0001,
+ precision: 4,
+ style: { width: '100%' },
+ ...createRatioFormatter2(),
+ },
+ },
+ // 闀挎湡鎶ょ悊
+ {
+ fieldName: 'divider_long_term_care',
+ label: '闀挎湡鎶ょ悊',
+ component: 'Divider',
+ formItemClass: 'col-span-2',
+ },
+ {
+ fieldName: 'longTermCareCompanyRatio',
+ label: '浼佷笟姣斾緥',
+ component: 'InputNumber',
+ componentProps: {
+ placeholder: '浼佷笟缂寸撼姣斾緥',
+ min: 0,
+ max: 1,
+ step: 0.0001,
+ precision: 4,
+ style: { width: '100%' },
+ ...createRatioFormatter2(),
+ },
+ },
+ {
+ fieldName: 'longTermCarePersonalRatio',
+ label: '涓汉姣斾緥',
+ component: 'InputNumber',
+ componentProps: {
+ placeholder: '涓汉缂寸撼姣斾緥',
+ min: 0,
+ max: 1,
+ step: 0.0001,
+ precision: 4,
+ style: { width: '100%' },
+ ...createRatioFormatter2(),
+ },
+ },
// 鍏Н閲�
{
fieldName: 'divider_housing',
@@ -307,6 +390,18 @@
slots: { default: 'housingFundPersonalRatio' },
},
{
+ field: 'seriousIllnessPersonalRatio',
+ title: '澶х梾鍖荤枟(涓汉)',
+ width: 120,
+ slots: { default: 'seriousIllnessPersonalRatio' },
+ },
+ {
+ field: 'longTermCarePersonalRatio',
+ title: '闀挎湡鎶ょ悊(涓汉)',
+ width: 120,
+ slots: { default: 'longTermCarePersonalRatio' },
+ },
+ {
field: 'status',
title: '鐘舵��',
width: 80,
@@ -316,7 +411,7 @@
field: 'createTime',
title: '鍒涘缓鏃堕棿',
width: 180,
- formatter: 'formatDate',
+ formatter: 'formatDateTime',
},
{
title: '鎿嶄綔',
--
Gitblit v1.9.3