From 749cb2f4ad815c5a68c19fe961d5ca2149a84dd4 Mon Sep 17 00:00:00 2001
From: liu <2021943741@qq.com>
Date: 星期四, 17 九月 2026 11:28:54 +0800
Subject: [PATCH] feat(mes): 新增员工排班明细页面,修复计划排程菜单404

---
 src/api/crm/contract/index.ts |   78 ++++++++++++++++++++++++++++++++++----
 1 files changed, 69 insertions(+), 9 deletions(-)

diff --git a/src/api/crm/contract/index.ts b/src/api/crm/contract/index.ts
index f14aa95..d2af0de 100644
--- a/src/api/crm/contract/index.ts
+++ b/src/api/crm/contract/index.ts
@@ -1,4 +1,4 @@
-import type { PageParam, PageResult } from '..\..\..\packages\effects\request\src';
+import type { PageParam, PageResult } from '@vben/request';
 
 import type { CrmPermissionApi } from '#/api/crm/permission';
 
@@ -18,15 +18,22 @@
     ownerUserId: number;
     ownerUserName?: string;
     ownerUserDeptName?: string;
-    processInstanceId: number;
     auditStatus: number;
+    // 浠ヤ笅涓哄鏍告淳鐢熷瓧娈碉紝鐢卞悗绔湪瀹℃牳鏃跺啓鍏ワ紝鍓嶇鍙灞曠ず
+    reviewerId?: number; // 瀹℃牳浜篒D锛堝疄闄呮墽琛屽鏍哥殑鐢ㄦ埛锛�
+    reviewerName?: string; // 瀹℃牳浜哄鍚�
+    reviewTime?: Date; // 瀹℃牳鏃堕棿
+    reviewRemark?: string; // 瀹℃牳鎰忚锛堝鏍搁�氳繃鏃剁殑鎰忚 / 瀹℃牳涓嶉�氳繃鏃剁殑鍘熷洜锛�
     orderDate: Date;
     startTime: Date;
     endTime: Date;
     totalProductPrice: number;
     discountPercent: number;
     totalPrice: number;
+    depositPrice?: number; // 瀹氶噾閲戦锛屽崟浣嶏細鍏�
     totalReceivablePrice: number;
+    totalInvoicePrice?: number; // 宸插紑绁ㄩ噾棰濓紙鍚鎵逛腑锛夛紝鍗曚綅锛氬厓
+    unInvoicePrice?: number; // 鏈紑绁ㄩ噾棰濓紝鍗曚綅锛氬厓
     signContactId: number;
     signContactName?: string;
     signUserId: number;
@@ -38,20 +45,35 @@
     updateTime?: Date;
     products?: ContractProduct[];
     contactName?: string;
+    orderId?: number; // 鍏宠仈 ERP 閿�鍞鍗曠紪鍙�
+    orderNo?: string; // ERP 閿�鍞鍗曞崟鍙�
+    contractType?: string; // 鍚堝悓绫诲瀷锛堜緵鐢ㄧ數/鑳芥簮鏈嶅姟绛夛級
+    voltageLevel?: string; // 鐢靛帇绛夌骇
+    electricityType?: string; // 鐢ㄧ數绫诲瀷
+    contractCapacity?: number; // 鍚堝悓瀹归噺锛坘VA锛�
+    tariffMode?: string; // 鐢典环妯″紡
+    meterMode?: string; // 璁¢噺鏂瑰紡
+    payCycle?: number; // 缂磋垂鍛ㄦ湡锛堟湀锛�
+    commandCount?: number; // 鎸囦护鏁伴噺
   }
 
   /** 鍚堝悓浜у搧淇℃伅 */
   export interface ContractProduct {
     id: number;
-    productId: number;
-    productName: string;
-    productNo: string;
-    productUnit: number;
-    productPrice: number;
+    itemId: number;
+    itemName: string;
+    itemCode: string;
+    itemBarCode: string;
+    itemSpecification?: string;
+    itemUnitName: string;
+    itemUnitName2?: string;
+    itemUnitName3?: string;
+    itemPrice: number;
     contractPrice: number;
     count: number;
     totalPrice: number;
   }
+
 }
 
 /** 鏌ヨ鍚堝悓鍒楄〃 */
@@ -112,9 +134,42 @@
   return requestClient.download('/crm/contract/export-excel', { params });
 }
 
-/** 鎻愪氦瀹℃牳 */
+/**
+ * 鎻愪氦鍚堝悓瀹℃壒锛堟湭鎻愪氦 / 瀹℃牳涓嶉�氳繃 鈫� 瀹℃壒涓級
+ *
+ * 瀹℃壒浜虹敱銆岀郴缁熺鐞� - 瀹℃壒閰嶇疆銆嶆寜涓氬姟绫诲瀷缁熶竴閰嶇疆锛屾彁浜ゆ椂鏃犻渶鎸囧畾锛�
+ * 鏈惎鐢ㄥ鎵规垨鏈厤缃湁鏁堝鎵逛汉鏃跺悗绔細鎶涘嚭涓氬姟寮傚父銆�
+ */
 export function submitContract(id: number) {
-  return requestClient.put(`/crm/contract/submit?id=${id}`);
+  return requestClient.put('/crm/contract/submit', null, {
+    params: { id },
+  });
+}
+
+/**
+ * 鑾峰緱鍚堝悓鐨勫鎵逛汉缂栧彿闆嗗悎
+ *
+ * 渚涘垪琛ㄩ〉鍒ゆ柇褰撳墠鐧诲綍鐢ㄦ埛鏄惁搴斿睍绀恒�屽鏍� / 瀹℃牳涓嶉�氳繃銆嶆寜閽紱鏈厤缃椂杩斿洖绌烘暟缁勩��
+ */
+export function getContractApproverIds() {
+  return requestClient.get<number[]>('/crm/contract/approver-ids');
+}
+
+/**
+ * 瀹℃牳鍚堝悓锛堝鎵逛腑 鈫� 瀹℃牳閫氳繃 / 瀹℃牳涓嶉�氳繃锛�
+ *
+ * 浠呭鎵归厤缃腑鐨勫鎵逛汉鍙皟鐢紙澶氫汉鏃舵垨绛撅級锛沺ass=false 鏃� reviewRemark锛堜笉閫氳繃鍘熷洜锛夊繀濉��
+ */
+export function auditContract(
+  id: number,
+  pass: boolean,
+  reviewRemark?: string,
+) {
+  return requestClient.put('/crm/contract/audit', {
+    id,
+    pass,
+    reviewRemark,
+  });
 }
 
 /** 鍚堝悓杞Щ */
@@ -131,3 +186,8 @@
 export function getRemindContractCount() {
   return requestClient.get<number>('/crm/contract/remind-count');
 }
+
+/** 鏍规嵁鍚堝悓鐢熸垚閿�鍞鍗� */
+export function generateSaleOrder(id: number) {
+  return requestClient.post<number>('/crm/contract/generate-sale-order', null, { params: { id } });
+}

--
Gitblit v1.9.3