From ecaa5e0af0a087f256d497f7b7656f2900342226 Mon Sep 17 00:00:00 2001 From: wupengfei <834520024@qq.com> Date: 星期五, 22 八月 2025 15:10:53 +0800 Subject: [PATCH] Merge branch 'master' of http://120.26.58.240:8888/r/flexJobAdmin --- src/services/api/enterpriseEmployee.ts | 38 +++++++++ .eslintrc-auto-import.json | 1 src/services/api/electronSign.ts | 18 ++++ src/services/api/typings.d.ts | 102 +++++++++++++++++++++++++ src/views/ProtocolManage/components/AddOrEditTemplateDialog.vue | 9 ++ src/views/ProtocolManage/EditTemplate.vue | 2 auto-imports.d.ts | 3 src/constants/apiEnum.ts | 4 + src/hooks/electronSign.ts | 43 ++++++++++ src/hooks/index.ts | 1 src/views/EnterpriseManage/EnterpriseManageList.vue | 7 + types/api.d.ts | 4 + 12 files changed, 230 insertions(+), 2 deletions(-) diff --git a/.eslintrc-auto-import.json b/.eslintrc-auto-import.json index 4dc8632..4646e5b 100644 --- a/.eslintrc-auto-import.json +++ b/.eslintrc-auto-import.json @@ -221,6 +221,7 @@ "useCssModule": true, "useCssVars": true, "useDictionaryDataSelect": true, + "useEnabledElectronSignSettings": true, "useGetDictionaryCategorySelect": true, "useGlobalEventContext": true, "useGlobalEventProvide": true, diff --git a/auto-imports.d.ts b/auto-imports.d.ts index 17e4ef2..b902105 100644 --- a/auto-imports.d.ts +++ b/auto-imports.d.ts @@ -222,6 +222,7 @@ const toValue: typeof import('vue')['toValue'] const triggerRef: typeof import('vue')['triggerRef'] const unref: typeof import('vue')['unref'] + const useAA: typeof import('./src/hooks/electronSign')['useAA'] const useAccess: typeof import('./src/hooks/useAccess')['useAccess'] const useAllAreaList: typeof import('./src/hooks/dic')['useAllAreaList'] const useAllRoleList: typeof import('./src/hooks/useUser')['useAllRoleList'] @@ -233,6 +234,7 @@ const useCssModule: typeof import('vue')['useCssModule'] const useCssVars: typeof import('vue')['useCssVars'] const useDictionaryDataSelect: typeof import('./src/hooks/dic')['useDictionaryDataSelect'] + const useEnabledElectronSignSettings: typeof import('./src/hooks/electronSign')['useEnabledElectronSignSettings'] const useGetDictionaryCategorySelect: typeof import('./src/hooks/dic')['useGetDictionaryCategorySelect'] const useGlobalEventContext: typeof import('./src/hooks/useEvent')['useGlobalEventContext'] const useGlobalEventProvide: typeof import('./src/hooks/useEvent')['useGlobalEventProvide'] @@ -511,6 +513,7 @@ readonly useCssModule: UnwrapRef<typeof import('vue')['useCssModule']> readonly useCssVars: UnwrapRef<typeof import('vue')['useCssVars']> readonly useDictionaryDataSelect: UnwrapRef<typeof import('./src/hooks/dic')['useDictionaryDataSelect']> + readonly useEnabledElectronSignSettings: UnwrapRef<typeof import('./src/hooks/electronSign')['useEnabledElectronSignSettings']> readonly useGetDictionaryCategorySelect: UnwrapRef<typeof import('./src/hooks/dic')['useGetDictionaryCategorySelect']> readonly useGlobalEventContext: UnwrapRef<typeof import('./src/hooks/useEvent')['useGlobalEventContext']> readonly useGlobalEventProvide: UnwrapRef<typeof import('./src/hooks/useEvent')['useGlobalEventProvide']> diff --git a/src/constants/apiEnum.ts b/src/constants/apiEnum.ts index 687a584..bd799b6 100644 --- a/src/constants/apiEnum.ts +++ b/src/constants/apiEnum.ts @@ -331,6 +331,10 @@ Pass = 20, /**宸叉嫆绛� */ Refuse = 30, + /**鐢熸晥涓� */ + Effect = 40, + /**宸茬粓姝� */ + Stop = 50, } /** 浠诲姟楠屾敹鐘舵�� */ diff --git a/src/hooks/electronSign.ts b/src/hooks/electronSign.ts new file mode 100644 index 0000000..8c737b3 --- /dev/null +++ b/src/hooks/electronSign.ts @@ -0,0 +1,43 @@ +import { useQuery, useQueryClient } from '@tanstack/vue-query'; +import * as electronSignServices from '@/services/api/electronSign'; + +type UseEnabledElectronSignSettingsOptions = { + enterpriseId?: MaybeRef<string>; +}; + +export function useEnabledElectronSignSettings( + options: UseEnabledElectronSignSettingsOptions = {} +) { + const { enterpriseId } = options; + + const queryClient = useQueryClient(); + + const { data } = useQuery({ + 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/hooks/index.ts b/src/hooks/index.ts index b4cd58c..90173c1 100644 --- a/src/hooks/index.ts +++ b/src/hooks/index.ts @@ -9,3 +9,4 @@ export * from './dic'; export * from './menu'; export * from './portraitTable'; +export * from './electronSign'; diff --git a/src/services/api/electronSign.ts b/src/services/api/electronSign.ts index cfc6b4c..acd5124 100644 --- a/src/services/api/electronSign.ts +++ b/src/services/api/electronSign.ts @@ -65,6 +65,24 @@ ); } +/** 鏌ヨ宸插惎鐢ㄧ殑鐢靛瓙绛鹃厤缃� GET /api/user/electronSign/getEnabledElectronSignSettings */ +export async function getEnabledElectronSignSettings( + // 鍙犲姞鐢熸垚鐨凱aram绫诲瀷 (闈瀊ody鍙傛暟swagger榛樿娌℃湁鐢熸垚瀵硅薄) + params: API.APIgetEnabledElectronSignSettingsParams, + options?: API.RequestConfig +) { + return request<API.GetEnabledElectronSignSettingsQueryResultItem[]>( + '/api/user/electronSign/getEnabledElectronSignSettings', + { + method: 'GET', + params: { + ...params, + }, + ...(options || {}), + } + ); +} + /** 鏌ヨ浼佷笟鍚堝悓妯℃澘鏃ュ織鍒嗛〉鍒楄〃鏁版嵁 POST /api/user/electronSign/getEnterpriseContractTemplateLogs */ export async function getEnterpriseContractTemplateLogs( body: API.GetEnterpriseContractTemplateLogsQuery, diff --git a/src/services/api/enterpriseEmployee.ts b/src/services/api/enterpriseEmployee.ts index dfe7822..b54b7c3 100644 --- a/src/services/api/enterpriseEmployee.ts +++ b/src/services/api/enterpriseEmployee.ts @@ -35,6 +35,44 @@ ); } +/** 鏌ヨ涓汉鐢ㄦ埛绛剧害璇︽儏 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, + options?: API.RequestConfig +) { + return request<API.GetEnterpriseEmployeeElectronSignsQueryResult>( + '/api/user/enterpriseEmployee/getEnterpriseEmployeeElectronSigns', + { + method: 'POST', + headers: { + 'Content-Type': 'application/json-patch+json', + }, + data: body, + ...(options || {}), + } + ); +} + /** 鏌ヨ鐏靛伐鍒嗛〉鍒楄〃鏁版嵁 POST /api/user/enterpriseEmployee/getEnterpriseEmployees */ export async function getEnterpriseEmployees( body: API.GetEnterpriseEmployeesQuery, diff --git a/src/services/api/typings.d.ts b/src/services/api/typings.d.ts index 68dbba3..e629fd1 100644 --- a/src/services/api/typings.d.ts +++ b/src/services/api/typings.d.ts @@ -66,9 +66,19 @@ withChildren?: boolean; } + interface APIgetEnabledElectronSignSettingsParams { + /** 浼佷笟Id */ + enterpriseId?: string; + } + interface APIgetEnterpriseElectronSignSettingParams { /** Id */ id?: string; + } + + interface APIgetEnterpriseEmployeeElectronSignParams { + /** 鏌ヨ涓汉鐢ㄦ埛绛剧害璇︽儏 */ + request?: GetEnterpriseEmployeeElectronSignQuery; } interface APIgetEnterpriseEmployeeParams { @@ -665,6 +675,10 @@ Pass = 20, /**宸叉嫆绛� */ Refuse = 30, + /**鐢熸晥涓� */ + Effect = 40, + /**宸茬粓姝� */ + Stop = 50, } enum EnumTaskUserSubmitCheckReceiveStatus { @@ -940,6 +954,42 @@ /** 閿欒鐮� */ 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; + /** 閿欒淇℃伅 */ + msg?: any; + /** 闄勫姞鏁版嵁 */ + extras?: any; + /** 鏃堕棿鎴� */ + timestamp?: number; + } + + interface FriendlyResultGetEnterpriseEmployeeElectronSignsQueryResult { + /** 璺熻釜Id */ + traceId?: string; + /** 鐘舵�佺爜 */ + code?: number; + /** 閿欒鐮� */ + errorCode?: string; + data?: GetEnterpriseEmployeeElectronSignsQueryResult; /** 鎵ц鎴愬姛 */ success?: boolean; /** 閿欒淇℃伅 */ @@ -1591,6 +1641,25 @@ errorCode?: string; /** 鏁版嵁 */ data?: GetAreaSelectQueryResultOption[]; + /** 鎵ц鎴愬姛 */ + success?: boolean; + /** 閿欒淇℃伅 */ + msg?: any; + /** 闄勫姞鏁版嵁 */ + extras?: any; + /** 鏃堕棿鎴� */ + timestamp?: number; + } + + interface FriendlyResultListGetEnabledElectronSignSettingsQueryResultItem { + /** 璺熻釜Id */ + traceId?: string; + /** 鐘舵�佺爜 */ + code?: number; + /** 閿欒鐮� */ + errorCode?: string; + /** 鏁版嵁 */ + data?: GetEnabledElectronSignSettingsQueryResultItem[]; /** 鎵ц鎴愬姛 */ success?: boolean; /** 閿欒淇℃伅 */ @@ -2367,6 +2436,16 @@ isDisabled?: boolean; } + interface GetEnabledElectronSignSettingsQueryResultItem { + access?: EnumElectronSignAccess; + /** 瀹炲悕璐圭敤 */ + realVerifyCost?: number; + /** 绛剧害璐圭敤 */ + signCost?: number; + /** 涓�鍙d环 */ + mergeSignCost?: number; + } + interface GetEnterpriseContractTemplateLogsQuery { /** 妯℃澘Id */ id?: string; @@ -2444,6 +2523,29 @@ electronSignAccesses?: EnumElectronSignAccess[]; } + type GetEnterpriseEmployeeElectronSignQuery = Record<string, any>; + + type GetEnterpriseEmployeeElectronSignQueryResult = Record<string, any>; + + interface GetEnterpriseEmployeeElectronSignsQuery { + userSignContractStatus?: EnumTaskUserSignContractStatus; + pageModel?: PagedListQueryPageModel; + } + + interface GetEnterpriseEmployeeElectronSignsQueryResult { + pageModel?: PagedListQueryResultPageModel; + /** 鏁版嵁 */ + data?: GetEnterpriseEmployeeElectronSignsQueryResultItem[]; + } + + interface GetEnterpriseEmployeeElectronSignsQueryResultItem { + /** Id */ + id?: string; + /** 浼佷笟鍏ㄧО */ + enterpriseName?: string; + userSignContractStatus?: EnumTaskUserSignContractStatus; + } + interface GetEnterpriseEmployeeQueryResult { /** 鐏靛伐Id */ id?: string; diff --git a/src/views/EnterpriseManage/EnterpriseManageList.vue b/src/views/EnterpriseManage/EnterpriseManageList.vue index dc5a167..4bbf424 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; @@ -219,13 +221,16 @@ // return await flexEnterpriseServices.createOrEditFlexEnterpriseBankSetting(params); // } catch (error) {} // } + async function createOrEditFlexEnterpriseSignSetting() { try { let params: API.SetEnterpriseElectronSignSettingCommand = { id: editForm.id, electronSignAccesses: editForm.electronSignAccesses.filter(Boolean), }; - 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