From 157eda36f3505ecff50b1ab1a1fdafa2e02e6d1b Mon Sep 17 00:00:00 2001 From: zhengyiming <540361168@qq.com> Date: 星期二, 09 九月 2025 11:27:33 +0800 Subject: [PATCH] fix: bug --- src/views/EmploymentManage/EmploymentSignList.vue | 8 +- src/views/FlexJobManage/FlexJobManage.vue | 2 src/services/api/index.ts | 2 src/services/api/codeUrl.ts | 2 src/services/api/typings.d.ts | 76 ++++++++++++++++--- src/views/SignMiddleware/SignU.vue | 31 ++++++- src/constants/apiEnum.ts | 26 +++-- src/views/FlexJobManage/components/SendShotMessageDialog.vue | 18 ++++ src/views/SignMiddleware/SignMiddleware.vue | 27 +++--- src/services/api/syncDatabase.ts | 15 +++ 10 files changed, 161 insertions(+), 46 deletions(-) diff --git a/src/constants/apiEnum.ts b/src/constants/apiEnum.ts index 9f228cf..efed8bd 100644 --- a/src/constants/apiEnum.ts +++ b/src/constants/apiEnum.ts @@ -23,6 +23,8 @@ /** 缂栧彿鍦板潃鍦烘櫙 */ export enum EnumCodeUrlScene { + /**閭�璇风绾� */ + InviteElectronSign = 1, /**绛剧害鍦板潃 */ ElectronSignUrl = 10, } @@ -307,28 +309,30 @@ CommonServerOcrUtils = 6, /**鏃ュ織璁板綍 */ CommonServerLogRecords = 7, + /**鍚屾鏁版嵁搴� */ + CommonServerSyncDatabase = 8, /**鐢ㄦ埛璁よ瘉 */ - UserServerAuth = 8, + UserServerAuth = 9, /**鐢ㄦ埛鑿滃崟 */ - UserServerMenu = 9, + UserServerMenu = 10, /**鐢ㄦ埛璧勬簮 */ - UserServerResource = 10, + UserServerResource = 11, /**鐢ㄦ埛瑙掕壊 */ - UserServerRole = 11, + UserServerRole = 12, /**鐢ㄦ埛淇℃伅 */ - UserServerUser = 12, + UserServerUser = 13, /**鐢靛瓙绛� */ - UserServerElectronSign = 13, + UserServerElectronSign = 14, /**鐢ㄦ埛绠�鍘� */ - UserServerUserResume = 14, + UserServerUserResume = 15, /**浼佷笟淇℃伅 */ - UserServerEnterprise = 15, + UserServerEnterprise = 16, /**浼佷笟閽卞寘 */ - UserServerEnterpriseWallet = 16, + UserServerEnterpriseWallet = 17, /**鐏靛伐淇℃伅 */ - UserServerEnterpriseEmployee = 17, + UserServerEnterpriseEmployee = 18, /**鐢靛瓙绛� */ - ElectronSignServerElectronSign = 18, + ElectronSignServerElectronSign = 19, } /** 璧勬簮璇锋眰鏂瑰紡 */ diff --git a/src/services/api/codeUrl.ts b/src/services/api/codeUrl.ts index 481bb5b..2cb6939 100644 --- a/src/services/api/codeUrl.ts +++ b/src/services/api/codeUrl.ts @@ -8,7 +8,7 @@ params: API.APIgetCodeUrlParams, options?: API.RequestConfig ) { - return request<string>('/api/common/codeUrl/getCodeUrl', { + return request<API.GetCodeUrlQueryResult>('/api/common/codeUrl/getCodeUrl', { method: 'GET', params: { ...params, diff --git a/src/services/api/index.ts b/src/services/api/index.ts index 1c75685..2d2b182 100644 --- a/src/services/api/index.ts +++ b/src/services/api/index.ts @@ -20,6 +20,7 @@ import * as menu from './menu'; import * as logRecords from './logRecords'; import * as fileUtils from './fileUtils'; +import * as syncDatabase from './syncDatabase'; export default { enterpriseEmployee, user, @@ -39,4 +40,5 @@ menu, logRecords, fileUtils, + syncDatabase, }; diff --git a/src/services/api/syncDatabase.ts b/src/services/api/syncDatabase.ts new file mode 100644 index 0000000..b40e50d --- /dev/null +++ b/src/services/api/syncDatabase.ts @@ -0,0 +1,15 @@ +/* eslint-disable */ +// @ts-ignore +import { request } from '@/utils/request'; + +/** 鍚屾鏁版嵁搴� POST /api/common/syncDatabase/syncDatabase */ +export async function syncDatabase(body: API.SyncDatabaseCommand, options?: API.RequestConfig) { + return request<number>('/api/common/syncDatabase/syncDatabase', { + 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 0a699bf..eab48c6 100644 --- a/src/services/api/typings.d.ts +++ b/src/services/api/typings.d.ts @@ -511,6 +511,8 @@ } enum EnumCodeUrlScene { + /**閭�璇风绾� */ + InviteElectronSign = 1, /**绛剧害鍦板潃 */ ElectronSignUrl = 10, } @@ -768,28 +770,30 @@ CommonServerOcrUtils = 6, /**鏃ュ織璁板綍 */ CommonServerLogRecords = 7, + /**鍚屾鏁版嵁搴� */ + CommonServerSyncDatabase = 8, /**鐢ㄦ埛璁よ瘉 */ - UserServerAuth = 8, + UserServerAuth = 9, /**鐢ㄦ埛鑿滃崟 */ - UserServerMenu = 9, + UserServerMenu = 10, /**鐢ㄦ埛璧勬簮 */ - UserServerResource = 10, + UserServerResource = 11, /**鐢ㄦ埛瑙掕壊 */ - UserServerRole = 11, + UserServerRole = 12, /**鐢ㄦ埛淇℃伅 */ - UserServerUser = 12, + UserServerUser = 13, /**鐢靛瓙绛� */ - UserServerElectronSign = 13, + UserServerElectronSign = 14, /**鐢ㄦ埛绠�鍘� */ - UserServerUserResume = 14, + UserServerUserResume = 15, /**浼佷笟淇℃伅 */ - UserServerEnterprise = 15, + UserServerEnterprise = 16, /**浼佷笟閽卞寘 */ - UserServerEnterpriseWallet = 16, + UserServerEnterpriseWallet = 17, /**鐏靛伐淇℃伅 */ - UserServerEnterpriseEmployee = 17, + UserServerEnterpriseEmployee = 18, /**鐢靛瓙绛� */ - ElectronSignServerElectronSign = 18, + ElectronSignServerElectronSign = 19, } enum EnumResourceMethod { @@ -1090,6 +1094,24 @@ /** 閿欒鐮� */ errorCode?: string; data?: GetCheckReceiveTaskUserSubmitsQueryResult; + /** 鎵ц鎴愬姛 */ + success?: boolean; + /** 閿欒淇℃伅 */ + msg?: any; + /** 闄勫姞鏁版嵁 */ + extras?: any; + /** 鏃堕棿鎴� */ + timestamp?: number; + } + + interface FriendlyResultGetCodeUrlQueryResult { + /** 璺熻釜Id */ + traceId?: string; + /** 鐘舵�佺爜 */ + code?: number; + /** 閿欒鐮� */ + errorCode?: string; + data?: GetCodeUrlQueryResult; /** 鎵ц鎴愬姛 */ success?: boolean; /** 閿欒淇℃伅 */ @@ -2689,6 +2711,21 @@ addressName?: string; } + interface GetCodeUrlQueryResult { + /** 鍦板潃 */ + url?: string; + /** 鍙傛暟1 */ + paramValue1?: string; + /** 鍙傛暟2 */ + paramValue2?: string; + /** 鍙傛暟3 */ + paramValue3?: string; + /** 鍙傛暟4 */ + paramValue4?: string; + /** 鍙傛暟5 */ + paramValue5?: string; + } + interface GetContractTemplateEnterprisesQuery { /** 鍏抽敭瀛� */ keywords?: string; @@ -4124,6 +4161,7 @@ /** 鎵嬫満鍙� */ contactPhoneNumber?: string; checkReceiveStatus?: EnumTaskCheckReceiveStatus; + settlementStatus?: EnumTaskSettlementStatus; /** 鎵�灞為摱琛� */ bank?: string; /** 寮�鎴锋敮琛屽悕绉� */ @@ -4828,8 +4866,10 @@ } interface PersonalUserElectronSignCommand { - /** 鐏靛伐Id */ + /** 鐏靛伐Id锛堜簩閫変竴锛� */ id?: string; + /** 閭�绾︾煭淇$紪鍙凤紙浜岄�変竴锛� */ + smsCode?: string; } interface PersonalUserElectronSignCommandResult { @@ -4901,6 +4941,16 @@ scene?: EnumCodeUrlScene; /** 鍦板潃 */ url?: string; + /** 鍙傛暟1 */ + paramValue1?: string; + /** 鍙傛暟2 */ + paramValue2?: string; + /** 鍙傛暟3 */ + paramValue3?: string; + /** 鍙傛暟4 */ + paramValue4?: string; + /** 鍙傛暟5 */ + paramValue5?: string; /** 杩囨湡鏃堕棿 */ expiredTime?: string; } @@ -5474,6 +5524,8 @@ actualSettlementAmount: number; } + type SyncDatabaseCommand = Record<string, any>; + interface SyncElectronSignSettingsCommand { /** 椤� */ items?: SyncElectronSignSettingsCommandItem[]; diff --git a/src/views/EmploymentManage/EmploymentSignList.vue b/src/views/EmploymentManage/EmploymentSignList.vue index 043951e..cbd0382 100644 --- a/src/views/EmploymentManage/EmploymentSignList.vue +++ b/src/views/EmploymentManage/EmploymentSignList.vue @@ -167,8 +167,8 @@ contactPhoneNumber: '', gender: EnumUserGender.Male, age: null as any as number, - idFrontUrl: [] as UploadUserFile[], - idBackUrl: [] as UploadUserFile[], + identityImg: [] as UploadUserFile[], + identityBackImg: [] as UploadUserFile[], contractUrl: [] as UploadUserFile[], regiterTime: '', userRealTime: '', @@ -189,8 +189,8 @@ contactPhoneNumber: row.contactPhoneNumber, gender: detail.gender, age: detail.age ?? null, - idFrontUrl: convertApi2FormUrlOnlyOne(detail.identityImg), - idBackUrl: convertApi2FormUrlOnlyOne(detail.identityBackImg), + identityImg: convertApi2FormUrlOnlyOne(detail.identityImg), + identityBackImg: convertApi2FormUrlOnlyOne(detail.identityBackImg), contractUrl: convertApi2FormUrlOnlyOne(detail.contractUrl, { fileName: detail.contractUrl ? detail.contractUrl.split('/').pop() : '鍚堝悓', }), diff --git a/src/views/FlexJobManage/FlexJobManage.vue b/src/views/FlexJobManage/FlexJobManage.vue index 60d3901..13ebebe 100644 --- a/src/views/FlexJobManage/FlexJobManage.vue +++ b/src/views/FlexJobManage/FlexJobManage.vue @@ -430,6 +430,7 @@ ids: [] as string[], customerId: '', name: '', + contractTemplateId: '', }, }); @@ -454,6 +455,7 @@ try { let params: API.SendInviteElectronSignSmsCommand = { ids: editShotMessageForm.ids, + contractTemplateId: editShotMessageForm.contractTemplateId, }; let res = await enterpriseEmployeeServices.sendInviteElectronSignSms(params); if (res) { diff --git a/src/views/FlexJobManage/components/SendShotMessageDialog.vue b/src/views/FlexJobManage/components/SendShotMessageDialog.vue index 477c7b9..581b518 100644 --- a/src/views/FlexJobManage/components/SendShotMessageDialog.vue +++ b/src/views/FlexJobManage/components/SendShotMessageDialog.vue @@ -1,6 +1,17 @@ <template> <ProDialog title="鐭俊鍙戦��" v-model="visible" @close="onDialogClose" destroy-on-close draggable> - <ProForm :model="form" ref="dialogForm" label-width="90px"> + <ProForm :model="form" ref="dialogForm" label-width="100px"> + <ProFormItemV2 + label="璇烽�夋嫨妯℃澘:" + prop="contractTemplateId" + :check-rules="[{ message: '璇烽�夋嫨妯℃澘' }]" + > + <ProFormSelect + v-model="form.contractTemplateId" + :valueEnum="enterpriseContractTemplateSelect" + > + </ProFormSelect> + </ProFormItemV2> <ProFormItemV2 label="鐭俊绫诲瀷:" prop="name" required> <div>{{ '浜哄憳绛剧害閫氶亾鐭俊' }}</div> </ProFormItemV2> @@ -16,7 +27,7 @@ <script setup lang="ts"> import { FormInstance } from 'element-plus'; -import { ProDialog, ProForm, ProFormItemV2 } from '@bole-core/components'; +import { ProDialog, ProForm, ProFormItemV2, ProFormSelect } from '@bole-core/components'; defineOptions({ name: 'SendShotMessageDialog', @@ -29,10 +40,13 @@ ids: string[]; customerId: string; name: string; + contractTemplateId: string; }; const form = defineModel<Form>('form'); +const { enterpriseContractTemplateSelect } = useEnterpriseContractTemplateSelect(); + const emit = defineEmits<{ (e: 'onConfirm'): void; (e: 'onCancel'): void; diff --git a/src/views/SignMiddleware/SignMiddleware.vue b/src/views/SignMiddleware/SignMiddleware.vue index c88b607..266ec07 100644 --- a/src/views/SignMiddleware/SignMiddleware.vue +++ b/src/views/SignMiddleware/SignMiddleware.vue @@ -8,7 +8,7 @@ <script setup lang="ts"> import { LoadingLayout } from '@bole-core/components'; -import * as codeUrlServices from '@/services/api/codeUrl'; +import * as enterpriseEmployeeServices from '@/services/api/enterpriseEmployee'; import { useQuery } from '@tanstack/vue-query'; //璺宠浆鍒癱绔皬绋嬪簭绛剧害璇︽儏 @@ -17,21 +17,24 @@ }); const route = useRoute(); -const templateCode = (route.params.code as string) ?? ''; +const smsCode = (route.params.code as string) ?? ''; function goSign() {} const { data, isLoading } = useQuery({ - queryKey: ['codeUrlServices/getCodeUrl', templateCode], - queryFn: () => - codeUrlServices.getCodeUrl( - { - scene: EnumCodeUrlScene.ElectronSignUrl, - code: templateCode, - }, - { showLoading: false } - ), - enabled: computed(() => !!templateCode), + queryKey: ['enterpriseEmployeeServices/personalUserElectronSign', smsCode], + queryFn: () => { + let params: API.PersonalUserElectronSignCommand = { + smsCode: smsCode, + }; + return enterpriseEmployeeServices.personalUserElectronSign(params, { showLoading: false }); + }, + enabled: computed(() => !!smsCode), + onSuccess(data) { + if (data?.signContractLongUrl) { + window.location.href = data.signContractLongUrl; + } + }, }); </script> diff --git a/src/views/SignMiddleware/SignU.vue b/src/views/SignMiddleware/SignU.vue index 51b17dd..e588fdc 100644 --- a/src/views/SignMiddleware/SignU.vue +++ b/src/views/SignMiddleware/SignU.vue @@ -1,20 +1,43 @@ <template> - <div class="sign-middleware-wrapper"> - <el-button type="primary" @click="goSign">鍓嶅線绛剧害</el-button> - </div> + <LoadingLayout :loading="isLoading"> + <div class="sign-middleware-wrapper"> + <!-- <el-button type="primary" @click="goSign">鍓嶅線绛剧害</el-button> --> + </div> + </LoadingLayout> </template> <script setup lang="ts"> import { LoadingLayout } from '@bole-core/components'; +import * as codeUrlServices from '@/services/api/codeUrl'; +import { useQuery } from '@tanstack/vue-query'; + //璺宠浆涓婁笂绛炬垨鏀粯瀹濅俊浠荤鐨勭绾﹀湴鍧� defineOptions({ name: 'SignU', }); const route = useRoute(); -const templateCode = (route.params.code as string) ?? ''; +const code = (route.params.code as string) ?? ''; function goSign() {} + +const { data, isLoading } = useQuery({ + queryKey: ['codeUrlServices/getCodeUrl', code], + queryFn: () => + codeUrlServices.getCodeUrl( + { + scene: EnumCodeUrlScene.ElectronSignUrl, + code: code, + }, + { showLoading: false } + ), + enabled: computed(() => !!code), + onSuccess(data) { + if (data.url) { + window.location.href = data.url; + } + }, +}); </script> <style lang="scss" scoped> -- Gitblit v1.9.1