From 97f29024ce18babeb4b635c5d73f907ac493976e Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期五, 22 八月 2025 16:15:48 +0800
Subject: [PATCH] fix: 签约

---
 src/services/api/enterpriseEmployee.ts                              |   17 +++++
 src/fabric-editor/components/systemTemplateDataParamSetting.vue     |    1 
 src/fabric-editor/components/attributeTemplateParam.vue             |   11 +++
 src/services/api/electronSign.ts                                    |   20 ++++++
 src/services/api/typings.d.ts                                       |   86 ++++++++++++++++++++++++++--
 src/views/DictionaryManage/DataDictionary.vue                       |    2 
 src/fabric-editor/customObject/index.ts                             |    1 
 src/fabric-editor/hooks/context.ts                                  |    1 
 src/views/DictionaryManage/components/AddOrEditDictionaryDialog.vue |   26 ++++++--
 src/fabric-editor/types.d.ts                                        |    2 
 10 files changed, 151 insertions(+), 16 deletions(-)

diff --git a/src/fabric-editor/components/attributeTemplateParam.vue b/src/fabric-editor/components/attributeTemplateParam.vue
index 415c20d..3b1bb4a 100644
--- a/src/fabric-editor/components/attributeTemplateParam.vue
+++ b/src/fabric-editor/components/attributeTemplateParam.vue
@@ -18,6 +18,14 @@
           disabled
         ></el-input>
       </el-form-item>
+      <el-form-item :label="'鏁版嵁缁戝畾瀛楁'" required>
+        <el-input
+          v-model="baseAttr.bindProperty"
+          placeholder="璇疯緭鍏ユ暟鎹弬鏁板瓧娈�"
+          @input="(value) => changeCommon('bindProperty', value)"
+          disabled
+        ></el-input>
+      </el-form-item>
       <el-form-item :label="'鍚堝悓妯℃澘鍙橀噺绫诲瀷'" required>
         <FieldSelect
           v-model="baseAttr.templateParamType"
@@ -26,6 +34,7 @@
           @change="(value) => changeCommon('templateParamType', value)"
         />
       </el-form-item>
+
       <el-form-item :label="'鍚堝悓妯℃澘鍙橀噺'" required>
         <FieldSelect
           v-model="baseAttr.recorder"
@@ -82,6 +91,7 @@
   userType: EnumUserType.Personal,
   label: '',
   name: '',
+  bindProperty: '',
   required: true,
 });
 
@@ -98,6 +108,7 @@
     baseAttr.label = activeObject.get('label');
     baseAttr.name = activeObject.get('name');
     baseAttr.required = activeObject.get('required');
+    baseAttr.bindProperty = activeObject.get('bindProperty');
   }
 };
 
diff --git a/src/fabric-editor/components/systemTemplateDataParamSetting.vue b/src/fabric-editor/components/systemTemplateDataParamSetting.vue
index 7ea1a8c..850d753 100644
--- a/src/fabric-editor/components/systemTemplateDataParamSetting.vue
+++ b/src/fabric-editor/components/systemTemplateDataParamSetting.vue
@@ -70,6 +70,7 @@
     required: true,
     label: item.label,
     name: item.data?.field3,
+    bindProperty: item.data?.field4,
 
     templateDataParamId: '',
     pageNum: templateEditState.currentImageIndex,
diff --git a/src/fabric-editor/customObject/index.ts b/src/fabric-editor/customObject/index.ts
index 2c61a8c..e7f659f 100644
--- a/src/fabric-editor/customObject/index.ts
+++ b/src/fabric-editor/customObject/index.ts
@@ -11,6 +11,7 @@
   'required',
   'templateDataParamId',
   'pageNum',
+  'bindProperty',
 ];
 
 export class TemplateParam extends fabric.IText {
diff --git a/src/fabric-editor/hooks/context.ts b/src/fabric-editor/hooks/context.ts
index 6406b85..b989b5e 100644
--- a/src/fabric-editor/hooks/context.ts
+++ b/src/fabric-editor/hooks/context.ts
@@ -184,6 +184,7 @@
               type: x.templateParamType,
               recorder: x.recorder,
               userType: x.userType,
+              bindProperty: x.bindProperty,
             } as API.SaveContractTemplateValuesCommandItem)
         ),
         templateJsonData: JSON.stringify(templateEditState.jsonMap),
diff --git a/src/fabric-editor/types.d.ts b/src/fabric-editor/types.d.ts
index f7b6484..da2fe6a 100644
--- a/src/fabric-editor/types.d.ts
+++ b/src/fabric-editor/types.d.ts
@@ -13,6 +13,8 @@
     name?: string;
     /** 鏄惁蹇呭~ */
     required?: boolean;
+    /** 缁戝畾瀛楁 */
+    bindProperty?: string;
   }
 }
 
diff --git a/src/services/api/electronSign.ts b/src/services/api/electronSign.ts
index acd5124..cc9ed3b 100644
--- a/src/services/api/electronSign.ts
+++ b/src/services/api/electronSign.ts
@@ -119,6 +119,26 @@
   );
 }
 
+/** 鏌ヨ浼佷笟鍚堝悓妯℃澘閫夋嫨鍣ㄦ暟鎹� GET /api/user/electronSign/getEnterpriseContractTemplateSelect */
+export async function getEnterpriseContractTemplateSelect(
+  // 鍙犲姞鐢熸垚鐨凱aram绫诲瀷 (闈瀊ody鍙傛暟swagger榛樿娌℃湁鐢熸垚瀵硅薄)
+  params: API.APIgetEnterpriseContractTemplateSelectParams,
+  options?: API.RequestConfig
+) {
+  return request<API.SelectOptionGuidGetEnterpriseContractTemplateSelectQueryOption[]>(
+    '/api/user/electronSign/getEnterpriseContractTemplateSelect',
+    {
+      method: 'GET',
+      params: {
+        ...params,
+        request: undefined,
+        ...params['request'],
+      },
+      ...(options || {}),
+    }
+  );
+}
+
 /** 鏌ヨ涓汉瀹炲悕缁撴灉 GET /api/user/electronSign/getPersonalUserRealResult */
 export async function getPersonalUserRealResult(
   // 鍙犲姞鐢熸垚鐨凱aram绫诲瀷 (闈瀊ody鍙傛暟swagger榛樿娌℃湁鐢熸垚瀵硅薄)
diff --git a/src/services/api/enterpriseEmployee.ts b/src/services/api/enterpriseEmployee.ts
index b54b7c3..4f7e0c8 100644
--- a/src/services/api/enterpriseEmployee.ts
+++ b/src/services/api/enterpriseEmployee.ts
@@ -47,8 +47,6 @@
       method: 'GET',
       params: {
         ...params,
-        request: undefined,
-        ...params['request'],
       },
       ...(options || {}),
     }
@@ -108,3 +106,18 @@
     }
   );
 }
+
+/** 閭�璇风伒宸ョ绾� POST /api/user/enterpriseEmployee/inviteEnterpriseEmployeeElectronSign */
+export async function inviteEnterpriseEmployeeElectronSign(
+  body: API.InviteEnterpriseEmployeeElectronSignCommand,
+  options?: API.RequestConfig
+) {
+  return request<string>('/api/user/enterpriseEmployee/inviteEnterpriseEmployeeElectronSign', {
+    method: 'POST',
+    headers: {
+      'Content-Type': 'application/json-patch+json',
+    },
+    data: body,
+    ...(options || {}),
+  });
+}
diff --git a/src/services/api/typings.d.ts b/src/services/api/typings.d.ts
index e629fd1..3ae288f 100644
--- a/src/services/api/typings.d.ts
+++ b/src/services/api/typings.d.ts
@@ -71,14 +71,21 @@
     enterpriseId?: string;
   }
 
+  interface APIgetEnterpriseContractTemplateSelectParams {
+    /** 鏌ヨ浼佷笟鍚堝悓妯℃澘閫夋嫨鍣ㄦ暟鎹� */
+    request?: GetEnterpriseContractTemplateSelectQuery;
+  }
+
   interface APIgetEnterpriseElectronSignSettingParams {
     /** Id */
     id?: string;
   }
 
   interface APIgetEnterpriseEmployeeElectronSignParams {
-    /** 鏌ヨ涓汉鐢ㄦ埛绛剧害璇︽儏 */
-    request?: GetEnterpriseEmployeeElectronSignQuery;
+    /** 鐏靛伐Id */
+    id?: string;
+    /** 鍚堝悓妯℃澘涓氬姟缂栫爜 */
+    code?: string;
   }
 
   interface APIgetEnterpriseEmployeeParams {
@@ -1803,6 +1810,25 @@
     timestamp?: number;
   }
 
+  interface FriendlyResultListSelectOptionGuidGetEnterpriseContractTemplateSelectQueryOption {
+    /** 璺熻釜Id */
+    traceId?: string;
+    /** 鐘舵�佺爜 */
+    code?: number;
+    /** 閿欒鐮� */
+    errorCode?: string;
+    /** 鏁版嵁 */
+    data?: SelectOptionGuidGetEnterpriseContractTemplateSelectQueryOption[];
+    /** 鎵ц鎴愬姛 */
+    success?: boolean;
+    /** 閿欒淇℃伅 */
+    msg?: any;
+    /** 闄勫姞鏁版嵁 */
+    extras?: any;
+    /** 鏃堕棿鎴� */
+    timestamp?: number;
+  }
+
   interface FriendlyResultListSelectOptionStringGetDictionaryDataSelectQueryResultOption {
     /** 璺熻釜Id */
     traceId?: string;
@@ -2287,6 +2313,8 @@
     label?: string;
     /** 鍙橀噺浠g爜 */
     name?: string;
+    /** 缁戝畾瀛楁 */
+    bindProperty?: string;
     /** 鏄惁蹇呭~ */
     required?: boolean;
   }
@@ -2470,6 +2498,17 @@
     content?: string[];
   }
 
+  type GetEnterpriseContractTemplateSelectQuery = Record<string, any>;
+
+  interface GetEnterpriseContractTemplateSelectQueryOption {
+    /** Id */
+    id?: string;
+    /** 妯℃澘鍚嶇О */
+    name?: string;
+    /** 妯℃澘Id */
+    templateId?: string;
+  }
+
   interface GetEnterpriseContractTemplatesQuery {
     /** 浼佷笟Id */
     enterpriseId?: string;
@@ -2523,9 +2562,27 @@
     electronSignAccesses?: EnumElectronSignAccess[];
   }
 
-  type GetEnterpriseEmployeeElectronSignQuery = Record<string, any>;
-
-  type GetEnterpriseEmployeeElectronSignQueryResult = Record<string, any>;
+  interface GetEnterpriseEmployeeElectronSignQueryResult {
+    /** 鍚堝悓缂栧彿 */
+    contractCode?: string;
+    userSignContractStatus?: EnumTaskUserSignContractStatus;
+    /** 绛剧害鏂逛俊鎭�-鍛樺伐-濮撳悕 */
+    name?: string;
+    /** 绛剧害鏂逛俊鎭�-鍛樺伐-璇佷欢绫诲瀷 */
+    identityType?: string;
+    /** 绛剧害鏂逛俊鎭�-鍛樺伐-璇佷欢鍙风爜 */
+    identity?: string;
+    /** 绛剧害鏂逛俊鎭�-鍛樺伐-绛剧害鏃堕棿 */
+    userSignContractTime?: string;
+    /** 绛剧害鏂逛俊鎭�-鍏徃涓讳綋-涓讳綋绫诲瀷 */
+    enterpriseType?: string;
+    /** 绛剧害鏂逛俊鎭�-鍏徃涓讳綋-绛剧害涓讳綋 */
+    enterpriseName?: string;
+    /** 绛剧害鏂逛俊鎭�-鍏徃涓讳綋-绛剧害鏃堕棿 */
+    enterpriseSignContractTime?: string;
+    /** 鍗忚鍐呭 */
+    contractUrl?: string;
+  }
 
   interface GetEnterpriseEmployeeElectronSignsQuery {
     userSignContractStatus?: EnumTaskUserSignContractStatus;
@@ -2539,7 +2596,7 @@
   }
 
   interface GetEnterpriseEmployeeElectronSignsQueryResultItem {
-    /** Id */
+    /** 鐏靛伐Id */
     id?: string;
     /** 浼佷笟鍏ㄧО */
     enterpriseName?: string;
@@ -3997,6 +4054,13 @@
     identity?: string;
   }
 
+  interface InviteEnterpriseEmployeeElectronSignCommand {
+    /** 鐏靛伐Id */
+    id?: string;
+    /** 鍚堝悓妯℃澘Id */
+    contractTemplateId?: string;
+  }
+
   interface LoginCommandCallback {
     /** 鐢ㄦ埛Id */
     id?: string;
@@ -4152,6 +4216,8 @@
     label?: string;
     /** 鍙橀噺浠g爜 */
     name?: string;
+    /** 缁戝畾瀛楁 */
+    bindProperty?: string;
     /** 鏄惁蹇呭~ */
     required?: boolean;
   }
@@ -4475,6 +4541,14 @@
     data?: GetDictionaryCategorySelectQueryOption;
   }
 
+  interface SelectOptionGuidGetEnterpriseContractTemplateSelectQueryOption {
+    /** 鍊� */
+    value?: string;
+    /** 鏍囩 */
+    label?: string;
+    data?: GetEnterpriseContractTemplateSelectQueryOption;
+  }
+
   interface SelectOptionStringGetDictionaryDataSelectQueryResultOption {
     /** 鍊� */
     value?: string;
diff --git a/src/views/DictionaryManage/DataDictionary.vue b/src/views/DictionaryManage/DataDictionary.vue
index 69e84cf..96df848 100644
--- a/src/views/DictionaryManage/DataDictionary.vue
+++ b/src/views/DictionaryManage/DataDictionary.vue
@@ -160,6 +160,7 @@
       field1: row.field1,
       field3: row.field3,
       field2: convertApi2FormUrlOnlyOne(row.field2),
+      field4: row.field4,
     });
   } else {
     handleAdd({
@@ -180,6 +181,7 @@
     field1: '',
     field2: [] as UploadUserFile[],
     field3: '',
+    field4: '',
     title: '鏂板瀛楀吀',
   },
   editTitle: '缂栬緫瀛楀吀',
diff --git a/src/views/DictionaryManage/components/AddOrEditDictionaryDialog.vue b/src/views/DictionaryManage/components/AddOrEditDictionaryDialog.vue
index 52032b2..e34bf6a 100644
--- a/src/views/DictionaryManage/components/AddOrEditDictionaryDialog.vue
+++ b/src/views/DictionaryManage/components/AddOrEditDictionaryDialog.vue
@@ -39,14 +39,23 @@
       <ProFormItemV2 label="缂栧彿:" prop="code" :check-rules="[{ message: '璇疯緭鍏ョ紪鍙�' }]">
         <ProFormText v-model.trim="form.code" :disabled="!!form.id"></ProFormText>
       </ProFormItemV2>
-      <ProFormItemV2
-        label="鍙傛暟瀛楁鍚�:"
-        prop="field3"
-        :check-rules="[{ message: '璇疯緭鍏ュ弬鏁板瓧娈靛悕' }]"
-        v-if="category?.data?.code === CategoryCode.ElectronSignParam"
-      >
-        <ProFormText v-model.trim="form.field3"></ProFormText>
-      </ProFormItemV2>
+      <template v-if="category?.data?.code === CategoryCode.ElectronSignParam">
+        <ProFormItemV2
+          label="鍙傛暟瀛楁鍚�:"
+          prop="field3"
+          :check-rules="[{ message: '璇疯緭鍏ュ弬鏁板瓧娈靛悕' }]"
+        >
+          <ProFormText v-model.trim="form.field3" placeholder="璇疯緭鍏ュ弬鏁板瓧娈靛悕"></ProFormText>
+        </ProFormItemV2>
+        <ProFormItemV2
+          label="缁戝畾瀛楁鍚�:"
+          prop="field4"
+          :check-rules="[{ message: '璇疯緭鍏ョ粦瀹氬瓧娈靛悕' }]"
+        >
+          <ProFormText v-model.trim="form.field4" placeholder="璇疯緭鍏ョ粦瀹氬瓧娈靛悕"></ProFormText>
+        </ProFormItemV2>
+      </template>
+
       <ProFormItemV2
         label="鍥剧墖:"
         prop="field2"
@@ -105,6 +114,7 @@
   field1?: string;
   field2?: UploadUserFile[];
   field3?: string;
+  field4?: string;
 };
 
 const form = defineModel<Form>('form');

--
Gitblit v1.9.1