From f3d746181155c223bccdafcbbc45041e944e5eaa Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期二, 21 十月 2025 20:20:24 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master' into dev-1.2.0.2

---
 src/services/api/electronSign.ts                                |   30 +++++++++++++++
 src/services/api/typings.d.ts                                   |   21 +++++++++-
 src/views/ProtocolManage/components/AddOrEditTemplateDialog.vue |   14 +++++++
 src/views/ProtocolManage/EditTemplate.vue                       |    8 +++-
 4 files changed, 69 insertions(+), 4 deletions(-)

diff --git a/src/services/api/electronSign.ts b/src/services/api/electronSign.ts
index 8b63a80..e7d5a93 100644
--- a/src/services/api/electronSign.ts
+++ b/src/services/api/electronSign.ts
@@ -32,6 +32,21 @@
   });
 }
 
+/** 鏍¢獙鍚堝悓妯℃澘涓氬姟缂栧彿鏄惁瀛樺湪 POST /api/user/electronSign/checkExistContractTemplateCode */
+export async function checkExistContractTemplateCode(
+  body: API.CheckExistContractTemplateCodeCommand,
+  options?: API.RequestConfig
+) {
+  return request<boolean>('/api/user/electronSign/checkExistContractTemplateCode', {
+    method: 'POST',
+    headers: {
+      'Content-Type': 'application/json-patch+json',
+    },
+    data: body,
+    ...(options || {}),
+  });
+}
+
 /** 鐢靛瓙绛惧洖浼� POST /api/user/electronSign/electronSignCallback */
 export async function electronSignCallback(
   body: API.ElectronSignCallbackCommand,
@@ -205,6 +220,21 @@
   });
 }
 
+/** 淇鍚堝悓妯℃澘鍙橀噺鏁版嵁锛�1.2.0.2锛� POST /api/user/electronSign/repairContractTemplateValuePointBy_1_2_0_2_ */
+export async function repairContractTemplateValuePointBy1202_(
+  body: API.RepairContractTemplateValuePointBy1202Command,
+  options?: API.RequestConfig
+) {
+  return request<number>('/api/user/electronSign/repairContractTemplateValuePointBy_1_2_0_2_', {
+    method: 'POST',
+    headers: {
+      'Content-Type': 'application/json-patch+json',
+    },
+    data: body,
+    ...(options || {}),
+  });
+}
+
 /** 淇濆瓨鍚堝悓妯℃澘 POST /api/user/electronSign/saveContractTemplate */
 export async function saveContractTemplate(
   body: API.SaveContractTemplateCommand,
diff --git a/src/services/api/typings.d.ts b/src/services/api/typings.d.ts
index 26fed29..cdd979f 100644
--- a/src/services/api/typings.d.ts
+++ b/src/services/api/typings.d.ts
@@ -459,6 +459,13 @@
     accesses?: EnumElectronSignAccess[];
   }
 
+  interface CheckExistContractTemplateCodeCommand {
+    /** 妯℃澘Id锛堢紪杈戞椂浼犲叆锛� */
+    id?: string;
+    /** 涓氬姟缂栧彿 */
+    code: string;
+  }
+
   type CheckHealthQuery = Record<string, any>;
 
   interface CheckOperatorTokenCommand {
@@ -5131,8 +5138,16 @@
     hirePassTaskCount?: number;
     /** 宸插彇娑� */
     hireRefuseTaskCount?: number;
+    /** 浠诲姟涓� */
+    inProcessTaskCount?: number;
     /** 浣欓 */
     balance?: number;
+    /** 鎴戠殑鏀剁泭 */
+    incomeCount?: number;
+    /** 寰呯粨绠� */
+    waitSettlement?: number;
+    /** 宸插彂鏀� */
+    releaseedCount?: number;
     /** 宸茬粦瀹氱殑閾惰鍗¢�氶亾 */
     bankCardAAccesses?: EnumUserBankCardAccess[];
   }
@@ -6688,14 +6703,14 @@
     identity?: string;
     /** 鎵嬫満鍙� */
     contactPhoneNumber?: string;
+    /** 绱宸ユ椂 */
+    totalWorkHours?: number;
     /** 鎵�灞為摱琛� */
     bank?: string;
     /** 鎵�灞炴敮琛� */
     bankBranch?: string;
     /** 鏀舵璐︽埛 */
     receiveAccount?: string;
-    /** 绱宸ユ椂 */
-    totalWorkHours?: number;
     /** 缁撶畻閲戦 */
     settlementAmount?: number;
     /** 瀹炲彂閲戦 */
@@ -6963,6 +6978,8 @@
     verifyCode: string;
   }
 
+  type RepairContractTemplateValuePointBy1202Command = Record<string, any>;
+
   interface ResendResourceCommand {
     /** 璧勬簮鏃ュ織Id */
     id?: string;
diff --git a/src/views/ProtocolManage/EditTemplate.vue b/src/views/ProtocolManage/EditTemplate.vue
index 833779c..0154140 100644
--- a/src/views/ProtocolManage/EditTemplate.vue
+++ b/src/views/ProtocolManage/EditTemplate.vue
@@ -185,7 +185,7 @@
   }
 );
 
-const { dialogProps, handleEdit, handleAdd, editForm } = useFormDialog({
+const { dialogProps, handleEdit, handleAdd, editForm, dialogState } = useFormDialog({
   onConfirm: handleAddOrEdit,
   defaultFormParams: {
     id: '',
@@ -199,6 +199,7 @@
     templateEditData: '',
     enterpriseId: '',
   },
+  closeAfterConfirm: false,
 });
 
 async function openDialog(row?: API.GetEnterpriseContractTemplatesQueryResultItem) {
@@ -251,8 +252,11 @@
     if (res) {
       Message.successMessage('鎿嶄綔鎴愬姛');
       getList();
+      dialogState.dialogVisible = false;
     }
-  } catch (error) {}
+  } catch (error) {
+    dialogState.dialogVisible = true;
+  }
 }
 
 function handleDownload(row: API.GetEnterpriseContractTemplatesQueryResultItem) {
diff --git a/src/views/ProtocolManage/components/AddOrEditTemplateDialog.vue b/src/views/ProtocolManage/components/AddOrEditTemplateDialog.vue
index 279778b..6e0f397 100644
--- a/src/views/ProtocolManage/components/AddOrEditTemplateDialog.vue
+++ b/src/views/ProtocolManage/components/AddOrEditTemplateDialog.vue
@@ -77,6 +77,8 @@
 import { filterCN, filterNumbersFromString } from '@/utils';
 import { FormInstance } from 'element-plus';
 import { EnumElectronSignAccessText } from '@/constants';
+import * as electronSignServices from '@/services/api/electronSign';
+import { Message } from '@bole-core/core';
 
 defineOptions({
   name: 'AddOrEditTemplateDialog',
@@ -108,6 +110,18 @@
   all: true,
 });
 
+async function handleCodeBlur() {
+  try {
+    let params: API.CheckContractTemplateCommand = {
+      id: form.value?.id,
+    };
+    let res = await electronSignServices.checkContractTemplate(params);
+    if (res) {
+      Message.warnMessage('涓氬姟缂栫爜宸插瓨鍦�,璇烽噸鏂拌緭鍏�');
+    }
+  } catch (error) {}
+}
+
 const dialogForm = ref<FormInstance>();
 
 function onDialogClose() {

--
Gitblit v1.9.1