From a48be50fb38f21c6dd7ac8545c80d511783449ab Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期五, 22 八月 2025 15:07:39 +0800
Subject: [PATCH] fix: 签约
---
src/services/api/enterpriseEmployee.ts | 20 ++++++++++
src/services/api/electronSign.ts | 2 -
src/services/api/typings.d.ts | 33 ++++++++++++++--
src/views/ProtocolManage/components/AddOrEditTemplateDialog.vue | 9 ++++
src/views/ProtocolManage/EditTemplate.vue | 2 +
src/hooks/electronSign.ts | 30 +++++++++++++-
src/views/EnterpriseManage/EnterpriseManageList.vue | 7 +++
types/api.d.ts | 4 ++
8 files changed, 96 insertions(+), 11 deletions(-)
diff --git a/src/hooks/electronSign.ts b/src/hooks/electronSign.ts
index e988868..8c737b3 100644
--- a/src/hooks/electronSign.ts
+++ b/src/hooks/electronSign.ts
@@ -1,19 +1,43 @@
import { useQuery, useQueryClient } from '@tanstack/vue-query';
import * as electronSignServices from '@/services/api/electronSign';
-export function useEnabledElectronSignSettings() {
+type UseEnabledElectronSignSettingsOptions = {
+ enterpriseId?: MaybeRef<string>;
+};
+
+export function useEnabledElectronSignSettings(
+ options: UseEnabledElectronSignSettingsOptions = {}
+) {
+ const { enterpriseId } = options;
+
+ const queryClient = useQueryClient();
+
const { data } = useQuery({
- queryKey: ['electronSignServices/getEnabledElectronSignSettings'],
+ queryKey: ['electronSignServices/getEnabledElectronSignSettings', enterpriseId],
queryFn: async () => {
let res = await electronSignServices.getEnabledElectronSignSettings(
- {},
+ { enterpriseId: unref(enterpriseId) },
{ showLoading: false }
);
return res;
},
+ select(data) {
+ return data.map((x) => ({
+ ...x,
+ accessName: EnumElectronSignAccessText[x.access],
+ }));
+ },
placeholderData: () => [] as API.GetEnabledElectronSignSettingsQueryResultItem[],
});
+
+ function invalidateQueries() {
+ return queryClient.invalidateQueries({
+ queryKey: ['electronSignServices/getEnabledElectronSignSettings', enterpriseId],
+ });
+ }
+
return {
enabledElectronSignSettings: data,
+ invalidateQueries,
};
}
diff --git a/src/services/api/electronSign.ts b/src/services/api/electronSign.ts
index 85afa6b..acd5124 100644
--- a/src/services/api/electronSign.ts
+++ b/src/services/api/electronSign.ts
@@ -77,8 +77,6 @@
method: 'GET',
params: {
...params,
- request: undefined,
- ...params['request'],
},
...(options || {}),
}
diff --git a/src/services/api/enterpriseEmployee.ts b/src/services/api/enterpriseEmployee.ts
index 9127494..b54b7c3 100644
--- a/src/services/api/enterpriseEmployee.ts
+++ b/src/services/api/enterpriseEmployee.ts
@@ -35,6 +35,26 @@
);
}
+/** 鏌ヨ涓汉鐢ㄦ埛绛剧害璇︽儏 GET /api/user/enterpriseEmployee/getEnterpriseEmployeeElectronSign */
+export async function getEnterpriseEmployeeElectronSign(
+ // 鍙犲姞鐢熸垚鐨凱aram绫诲瀷 (闈瀊ody鍙傛暟swagger榛樿娌℃湁鐢熸垚瀵硅薄)
+ params: API.APIgetEnterpriseEmployeeElectronSignParams,
+ options?: API.RequestConfig
+) {
+ return request<API.GetEnterpriseEmployeeElectronSignQueryResult>(
+ '/api/user/enterpriseEmployee/getEnterpriseEmployeeElectronSign',
+ {
+ method: 'GET',
+ params: {
+ ...params,
+ request: undefined,
+ ...params['request'],
+ },
+ ...(options || {}),
+ }
+ );
+}
+
/** 鏌ヨ涓汉鐢ㄦ埛绛剧害鍒楄〃 POST /api/user/enterpriseEmployee/getEnterpriseEmployeeElectronSigns */
export async function getEnterpriseEmployeeElectronSigns(
body: API.GetEnterpriseEmployeeElectronSignsQuery,
diff --git a/src/services/api/typings.d.ts b/src/services/api/typings.d.ts
index 4e3e2ad..e629fd1 100644
--- a/src/services/api/typings.d.ts
+++ b/src/services/api/typings.d.ts
@@ -67,13 +67,18 @@
}
interface APIgetEnabledElectronSignSettingsParams {
- /** 鏌ヨ宸插惎鐢ㄧ殑鐢靛瓙绛鹃厤缃� */
- request?: GetEnabledElectronSignSettingsQuery;
+ /** 浼佷笟Id */
+ enterpriseId?: string;
}
interface APIgetEnterpriseElectronSignSettingParams {
/** Id */
id?: string;
+ }
+
+ interface APIgetEnterpriseEmployeeElectronSignParams {
+ /** 鏌ヨ涓汉鐢ㄦ埛绛剧害璇︽儏 */
+ request?: GetEnterpriseEmployeeElectronSignQuery;
}
interface APIgetEnterpriseEmployeeParams {
@@ -949,6 +954,24 @@
/** 閿欒鐮� */
errorCode?: string;
data?: GetEnterpriseElectronSignSettingQueryResult;
+ /** 鎵ц鎴愬姛 */
+ success?: boolean;
+ /** 閿欒淇℃伅 */
+ msg?: any;
+ /** 闄勫姞鏁版嵁 */
+ extras?: any;
+ /** 鏃堕棿鎴� */
+ timestamp?: number;
+ }
+
+ interface FriendlyResultGetEnterpriseEmployeeElectronSignQueryResult {
+ /** 璺熻釜Id */
+ traceId?: string;
+ /** 鐘舵�佺爜 */
+ code?: number;
+ /** 閿欒鐮� */
+ errorCode?: string;
+ data?: GetEnterpriseEmployeeElectronSignQueryResult;
/** 鎵ц鎴愬姛 */
success?: boolean;
/** 閿欒淇℃伅 */
@@ -2413,8 +2436,6 @@
isDisabled?: boolean;
}
- type GetEnabledElectronSignSettingsQuery = Record<string, any>;
-
interface GetEnabledElectronSignSettingsQueryResultItem {
access?: EnumElectronSignAccess;
/** 瀹炲悕璐圭敤 */
@@ -2502,6 +2523,10 @@
electronSignAccesses?: EnumElectronSignAccess[];
}
+ type GetEnterpriseEmployeeElectronSignQuery = Record<string, any>;
+
+ type GetEnterpriseEmployeeElectronSignQueryResult = Record<string, any>;
+
interface GetEnterpriseEmployeeElectronSignsQuery {
userSignContractStatus?: EnumTaskUserSignContractStatus;
pageModel?: PagedListQueryPageModel;
diff --git a/src/views/EnterpriseManage/EnterpriseManageList.vue b/src/views/EnterpriseManage/EnterpriseManageList.vue
index e27c0cd..c708c86 100644
--- a/src/views/EnterpriseManage/EnterpriseManageList.vue
+++ b/src/views/EnterpriseManage/EnterpriseManageList.vue
@@ -91,6 +91,8 @@
const state = reactive({ ...BaseState });
+const { invalidateQueries } = useEnabledElectronSignSettings();
+
onMounted(async () => {
await getList();
state.loading = false;
@@ -211,13 +213,16 @@
// return await flexEnterpriseServices.createOrEditFlexEnterpriseBankSetting(params);
// } catch (error) {}
// }
+
async function createOrEditFlexEnterpriseSignSetting() {
try {
let params: API.SetEnterpriseElectronSignSettingCommand = {
id: editForm.id,
electronSignAccesses: editForm.electronSignAccesses,
};
- return await enterpriseServices.setEnterpriseElectronSignSetting(params);
+ let res = await enterpriseServices.setEnterpriseElectronSignSetting(params);
+ invalidateQueries();
+ return res;
} catch (error) {}
}
async function createOrEditFlexEnterpriseMessageSetting() {
diff --git a/src/views/ProtocolManage/EditTemplate.vue b/src/views/ProtocolManage/EditTemplate.vue
index c0c486a..833779c 100644
--- a/src/views/ProtocolManage/EditTemplate.vue
+++ b/src/views/ProtocolManage/EditTemplate.vue
@@ -197,6 +197,7 @@
title: '鏂板妯℃澘',
isEnterpriseUserCreated: false,
templateEditData: '',
+ enterpriseId: '',
},
});
@@ -213,6 +214,7 @@
access: row.access,
isEnterpriseUserCreated: detail.isEnterpriseUserCreated,
templateEditData: detail.templateEditData,
+ enterpriseId: enterpriseId,
});
} else {
handleAdd();
diff --git a/src/views/ProtocolManage/components/AddOrEditTemplateDialog.vue b/src/views/ProtocolManage/components/AddOrEditTemplateDialog.vue
index 98db559..e4aa05c 100644
--- a/src/views/ProtocolManage/components/AddOrEditTemplateDialog.vue
+++ b/src/views/ProtocolManage/components/AddOrEditTemplateDialog.vue
@@ -22,7 +22,9 @@
<ProFormSelect
placeholder="璇烽�夋嫨鐢靛瓙绛鹃�氶亾"
v-model="form.access"
- :value-enum="EnumElectronSignAccessText"
+ :value-enum="enabledElectronSignSettings"
+ enum-value-key="access"
+ enum-label-key="accessName"
></ProFormSelect>
</ProFormItemV2>
<ProFormItemV2 label="涓氬姟缂栫爜锛�" prop="code" :check-rules="[{ message: '璇疯緭鍏ヤ笟鍔$紪鐮�' }]">
@@ -91,6 +93,7 @@
file: UploadUserFile[];
access: EnumElectronSignAccess;
isEnterpriseUserCreated: boolean;
+ enterpriseId: string;
};
const form = defineModel<Form>('form');
@@ -100,6 +103,10 @@
(e: 'onCancel'): void;
}>();
+const { enabledElectronSignSettings } = useEnabledElectronSignSettings({
+ enterpriseId: computed(() => form.value.enterpriseId),
+});
+
const dialogForm = ref<FormInstance>();
function onDialogClose() {
diff --git a/types/api.d.ts b/types/api.d.ts
index c70a034..6f5bc26 100644
--- a/types/api.d.ts
+++ b/types/api.d.ts
@@ -43,4 +43,8 @@
quickQuery?: string
}
+ interface GetEnabledElectronSignSettingsQueryResultItem{
+ accessName?: string;
+ }
+
}
--
Gitblit v1.9.1