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