From c77086ad2d7949ab36dd0c4e0b59907e672dd64f Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期五, 18 九月 2026 15:04:42 +0800
Subject: [PATCH] Merge remote-tracking branch 'refs/remotes/origin/dev_pro2.0' into dev_宁夏_九泓化工
---
src/api/hrm/employee/contract/index.ts | 156 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 156 insertions(+), 0 deletions(-)
diff --git a/src/api/hrm/employee/contract/index.ts b/src/api/hrm/employee/contract/index.ts
new file mode 100644
index 0000000..a252c3e
--- /dev/null
+++ b/src/api/hrm/employee/contract/index.ts
@@ -0,0 +1,156 @@
+import type { PageParam, PageResult } from '#/packages/effects/request/src';
+
+import { requestClient } from '#/api/request';
+
+export namespace HrmEmployeeContractApi {
+ /** 鍛樺伐鍚堝悓 */
+ export interface EmployeeContract {
+ id?: number;
+ /** 缁涓婁竴浠藉悎鍚孖D */
+ parentId?: number;
+ /** 缁涓婁竴浠藉悎鍚岀紪鍙� */
+ parentNo?: string;
+ /** 鏄惁褰撳墠鐢熸晥鍚堝悓 */
+ isCurrent?: boolean;
+ /** 鍚堝悓缂栧彿锛堝悗绔嚜鍔ㄧ敓鎴愶級 */
+ contractNo?: string;
+ /** 鍛樺伐ID */
+ employeeId?: number;
+ /** 鍛樺伐濮撳悕 */
+ employeeName?: string;
+ /** 鍛樺伐宸ュ彿 */
+ employeeNo?: string;
+ /** 閮ㄩ棬鍚嶇О */
+ deptName?: string;
+ /** 鍚堝悓绫诲瀷锛�1-鍔冲姩鍚堝悓 2-鍔冲姟鍚堝悓 3-瀹炰範鍗忚 4-鍔冲姟娲鹃仯 5-鍏朵粬 */
+ contractType?: number;
+ /** 鍚堝悓鏈熼檺绫诲瀷锛�1-鍥哄畾鏈熼檺 2-鏃犲浐瀹氭湡闄� 3-浠ュ畬鎴愪竴瀹氬伐浣滀换鍔′负鏈熼檺 */
+ contractTermType?: number;
+ /** 绛剧害涓讳綋 */
+ signCompany?: string;
+ /** 绛捐鏃ユ湡 */
+ signDate?: string;
+ /** 鍚堝悓寮�濮嬫棩鏈� */
+ startDate?: string;
+ /** 鍚堝悓缁撴潫鏃ユ湡 */
+ endDate?: string;
+ /** 璇曠敤鏈熷紑濮嬫棩鏈� */
+ probationStartDate?: string;
+ /** 璇曠敤鏈熺粨鏉熸棩鏈� */
+ probationEndDate?: string;
+ /** 璇曠敤鏈熷伐璧� */
+ probationSalary?: number;
+ /** 杞宸ヨ祫 */
+ regularSalary?: number;
+ /** 瑙i櫎缁堟鐘舵�侊細0-姝e父 1-宸茶В闄� 2-宸茬粓姝� */
+ terminateStatus?: number;
+ /** 瑙i櫎/缁堟鏃ユ湡 */
+ terminateDate?: string;
+ /** 瑙i櫎/缁堟鍘熷洜 */
+ terminateReason?: string;
+ /** 鍚堝悓鐘舵�侊紙鍔ㄦ�佽绠楋級锛�1-寰呯敓鏁� 2-鐢熸晥涓� 3-鍗冲皢鍒版湡 4-宸插埌鏈� 5-宸茶В闄� 6-宸茬粓姝� */
+ status?: number;
+ /** 闄勪欢 */
+ attachmentList?: AttachmentItem[];
+ /** 闄勪欢 blobId 鍒楄〃 */
+ blobIds?: number[];
+ remark?: string;
+ createTime?: string;
+ }
+
+ /** 闄勪欢椤� */
+ export interface AttachmentItem {
+ id: number;
+ name?: string;
+ url?: string;
+ uid?: string;
+ }
+
+ /** 鍛樺伐鍚堝悓鏌ヨ鍙傛暟 */
+ export interface EmployeeContractPageParam extends PageParam {
+ contractNo?: string;
+ employeeId?: number;
+ contractType?: number;
+ contractTermType?: number;
+ terminateStatus?: number;
+ status?: number;
+ /** 鍒版湡绫诲瀷锛�1-鍗冲皢鍒版湡 2-宸插埌鏈� */
+ expiryType?: number;
+ }
+
+ /** 瑙i櫎/缁堟鍚堝悓璇锋眰 */
+ export interface TerminateReq {
+ id: number;
+ terminateStatus: number;
+ terminateDate: string;
+ terminateReason: string;
+ }
+
+ /** 鍚堝悓瀵煎叆缁撴灉 */
+ export interface ImportResult {
+ /** 鏂板鎴愬姛鐨勫憳宸ュ悕鏁扮粍 */
+ createNames?: string[];
+ /** 瑕嗙洊鏇存柊鎴愬姛鐨勫憳宸ュ悕鏁扮粍 */
+ updateNames?: string[];
+ /** 瀵煎叆澶辫触闆嗗悎锛宬ey 涓哄憳宸ュ悕锛寁alue 涓哄け璐ュ師鍥� */
+ failureNames?: Record<string, string>;
+ }
+}
+
+/** 鑾峰彇鍛樺伐鍚堝悓鍒嗛〉鍒楄〃 */
+export function getEmployeeContractPage(
+ params: HrmEmployeeContractApi.EmployeeContractPageParam,
+) {
+ return requestClient.get<PageResult<HrmEmployeeContractApi.EmployeeContract>>(
+ '/hrm/employee-contract/page',
+ { params },
+ );
+}
+
+/** 鑾峰彇鍛樺伐鍚堝悓璇︽儏 */
+export function getEmployeeContract(id: number) {
+ return requestClient.get<HrmEmployeeContractApi.EmployeeContract>(
+ `/hrm/employee-contract/get?id=${id}`,
+ );
+}
+
+/** 鍒涘缓鍛樺伐鍚堝悓 */
+export function createEmployeeContract(data: HrmEmployeeContractApi.EmployeeContract) {
+ return requestClient.post('/hrm/employee-contract/create', data);
+}
+
+/** 鏇存柊鍛樺伐鍚堝悓 */
+export function updateEmployeeContract(data: HrmEmployeeContractApi.EmployeeContract) {
+ return requestClient.put('/hrm/employee-contract/update', data);
+}
+
+/** 瑙i櫎/缁堟鍛樺伐鍚堝悓 */
+export function terminateEmployeeContract(data: HrmEmployeeContractApi.TerminateReq) {
+ return requestClient.put('/hrm/employee-contract/terminate', data);
+}
+
+/** 鍒犻櫎鍛樺伐鍚堝悓 */
+export function deleteEmployeeContract(id: number) {
+ return requestClient.delete(`/hrm/employee-contract/delete?id=${id}`);
+}
+
+/** 鑾峰彇鍗冲皢鍒版湡鍚堝悓鏁伴噺 */
+export function getExpiringContractCount() {
+ return requestClient.get<number>('/hrm/employee-contract/expiring-count');
+}
+
+/** 涓嬭浇鍛樺伐鍚堝悓瀵煎叆妯℃澘 */
+export function importEmployeeContractTemplate() {
+ return requestClient.download('/hrm/employee-contract/import-template');
+}
+
+/** 瀵煎叆鍛樺伐鍚堝悓 */
+export function importEmployeeContract(
+ file: File,
+ updateSupport: boolean,
+) {
+ return requestClient.upload<HrmEmployeeContractApi.ImportResult>(
+ '/hrm/employee-contract/import',
+ { file, updateSupport },
+ );
+}
--
Gitblit v1.9.3