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