From a50d68e2f407789cde52e87f5d5285456b0f5f46 Mon Sep 17 00:00:00 2001 From: wupengfei <834520024@qq.com> Date: 星期一, 01 九月 2025 15:16:30 +0800 Subject: [PATCH] feat: 签约 --- src/views/FlexJobManage/FlexJobManage.vue | 63 ++++++++++++--------- src/services/api/enterpriseEmployee.ts | 4 src/services/api/index.ts | 2 src/services/api/typings.d.ts | 44 +++++++++++++- src/views/FlexJobManage/components/SignDialog.vue | 2 src/constants/apiEnum.ts | 6 + src/services/api/enterpriseWallet.ts | 18 ++++++ 7 files changed, 103 insertions(+), 36 deletions(-) diff --git a/src/constants/apiEnum.ts b/src/constants/apiEnum.ts index e4382ec..0181980 100644 --- a/src/constants/apiEnum.ts +++ b/src/constants/apiEnum.ts @@ -227,10 +227,12 @@ UserServerUserResume = 13, /**浼佷笟淇℃伅 */ UserServerEnterprise = 14, + /**浼佷笟閽卞寘 */ + UserServerEnterpriseWallet = 15, /**鐏靛伐淇℃伅 */ - UserServerEnterpriseEmployee = 15, + UserServerEnterpriseEmployee = 16, /**鐢靛瓙绛� */ - ElectronSignServerElectronSign = 16, + ElectronSignServerElectronSign = 17, } /** 璧勬簮璇锋眰鏂瑰紡 */ diff --git a/src/services/api/enterpriseEmployee.ts b/src/services/api/enterpriseEmployee.ts index dbf7f68..874d511 100644 --- a/src/services/api/enterpriseEmployee.ts +++ b/src/services/api/enterpriseEmployee.ts @@ -130,7 +130,7 @@ body: API.InviteElectronSignCommand, options?: API.RequestConfig ) { - return request<string>('/api/user/enterpriseEmployee/inviteElectronSign', { + return request<number>('/api/user/enterpriseEmployee/inviteElectronSign', { method: 'POST', headers: { 'Content-Type': 'application/json-patch+json', @@ -163,7 +163,7 @@ body: API.StopElectronSignCommand, options?: API.RequestConfig ) { - return request<string>('/api/user/enterpriseEmployee/stopElectronSign', { + return request<number>('/api/user/enterpriseEmployee/stopElectronSign', { method: 'POST', headers: { 'Content-Type': 'application/json-patch+json', diff --git a/src/services/api/enterpriseWallet.ts b/src/services/api/enterpriseWallet.ts new file mode 100644 index 0000000..343ba99 --- /dev/null +++ b/src/services/api/enterpriseWallet.ts @@ -0,0 +1,18 @@ +/* eslint-disable */ +// @ts-ignore +import { request } from '@/utils/request'; + +/** 鏀粯瀹濈敤鎴锋巿鏉冨崗璁绾﹂�氱煡 POST /api/user/enterpriseWallet/alipayUserAgreementPageSignNotify */ +export async function alipayUserAgreementPageSignNotify( + body: API.AlipayUserAgreementPageSignNotifyQuery, + options?: API.RequestConfig +) { + return request<boolean>('/api/user/enterpriseWallet/alipayUserAgreementPageSignNotify', { + method: 'POST', + headers: { + 'Content-Type': 'application/json-patch+json', + }, + data: body, + ...(options || {}), + }); +} diff --git a/src/services/api/index.ts b/src/services/api/index.ts index 7c7dd5e..e230365 100644 --- a/src/services/api/index.ts +++ b/src/services/api/index.ts @@ -17,6 +17,7 @@ import * as taskUser from './taskUser'; import * as menu from './menu'; import * as logRecords from './logRecords'; +import * as enterpriseWallet from './enterpriseWallet'; import * as fileUtils from './fileUtils'; export default { enterpriseEmployee, @@ -34,5 +35,6 @@ taskUser, menu, logRecords, + enterpriseWallet, fileUtils, }; diff --git a/src/services/api/typings.d.ts b/src/services/api/typings.d.ts index c677790..6f6f2fa 100644 --- a/src/services/api/typings.d.ts +++ b/src/services/api/typings.d.ts @@ -3,6 +3,35 @@ [key: string]: any; } + interface AlipayUserAgreementPageSignNotifyQuery { + /** 鍗忚浜у搧鐮侊紝鍟嗘埛鍜屾敮浠樺疂绛剧害鏃剁‘瀹氾紝涓嶅悓涓氬姟鍦烘櫙瀵瑰簲涓嶅悓鐨勭绾︿骇鍝佺爜銆� */ + personal_product_code?: string; + /** 褰撳墠绛剧害鐨勫崗璁満鏅�� */ + sign_scene?: string; + /** NORMAL 鍗忚褰撳墠鐘舵�� 1. TEMP锛氭殏瀛橈紝鍗忚鏈敓鏁堣繃锛� 2. NORMAL锛氭甯革紱 3. STOP锛氭殏鍋� */ + status?: string; + /** 鐢ㄦ埛绛剧害鐨勬敮浠樺疂璐﹀彿瀵瑰簲鐨勬敮浠樺疂鍞竴鐢ㄦ埛鍙枫�� 浠�2088寮�澶寸殑16浣嶇函鏁板瓧缁勬垚銆� */ + alipay_user_id?: string; + /** 鏀粯瀹濈郴缁熶腑鐢ㄤ互鍞竴鏍囪瘑鐢ㄦ埛绛剧害璁板綍鐨勭紪鍙枫�� */ + agreement_no?: string; + /** 鏀粯瀹濅唬鎵e崗璁殑瀹為檯绛剧害鏃堕棿锛屾牸寮忎负yyyy-MM-dd HH:mm:ss銆� */ + sign_time?: string; + /** 鐢ㄦ埛鍦ㄥ晢鎴风綉绔欑殑鐧诲綍璐﹀彿锛屽鏋滃晢鎴锋帴鍙d腑鏈紶锛屽垯涓嶄細杩斿洖 */ + external_logon_id?: string; + /** 鏀粯瀹濆垎閰嶇粰寮�鍙戣�呯殑搴旂敤Id */ + app_id?: string; + /** 鏀粯瀹濆垎閰嶇粰鍟嗘埛鐨勫簲鐢↖d */ + auth_app_id?: string; + /** 浠f墸鍗忚涓爣绀虹敤鎴风殑鍞竴绛剧害鍙凤紙纭繚鍦ㄥ晢鎴风郴缁熶腑鍞竴锛夈�� */ + external_agreement_no?: string; + /** 鐢ㄦ埛浠f墸鍗忚鐨勫疄闄呯敓鏁堟椂闂达紝鏍煎紡涓簓yyy-MM-dd HH:mm:ss銆� */ + valid_time?: string; + /** 杩斿洖鑴辨晱鐨勬敮浠樺疂璐﹀彿銆� */ + alipay_logon_id?: string; + /** 鐢ㄦ埛绛剧害鎴愬姛閫氱煡绫诲瀷 */ + notify_type?: string; + } + interface APIcheckHealthParams { /** 鍋ュ悍鏍¢獙 */ request?: CheckHealthQuery; @@ -605,10 +634,12 @@ UserServerUserResume = 13, /**浼佷笟淇℃伅 */ UserServerEnterprise = 14, + /**浼佷笟閽卞寘 */ + UserServerEnterpriseWallet = 15, /**鐏靛伐淇℃伅 */ - UserServerEnterpriseEmployee = 15, + UserServerEnterpriseEmployee = 16, /**鐢靛瓙绛� */ - ElectronSignServerElectronSign = 16, + ElectronSignServerElectronSign = 17, } enum EnumResourceMethod { @@ -2727,6 +2758,8 @@ enterpriseSignContractStatus?: EnumTaskUserSignContractStatus; /** 浼佷笟绛剧害鏃堕棿 */ enterpriseSignContractTime?: string; + /** 鐢靛瓙鍚堝悓 */ + contractUrl?: string; } type GetEnterpriseLoginInfoQuery = Record<string, any>; @@ -3229,6 +3262,7 @@ interface GetPersonalUserElectronSignQueryResult { /** 鍚堝悓缂栧彿 */ contractCode?: string; + contractTemplateAccess?: EnumElectronSignAccess; userSignContractStatus?: EnumTaskUserSignContractStatus; /** 绛剧害鏂逛俊鎭�-鍛樺伐-濮撳悕 */ name?: string; @@ -3236,6 +3270,8 @@ identityType?: string; /** 绛剧害鏂逛俊鎭�-鍛樺伐-璇佷欢鍙风爜 */ identity?: string; + /** 绛剧害鏂逛俊鎭�-鍛樺伐-鎵嬫満鍙� */ + contactPhoneNumber?: string; /** 绛剧害鏂逛俊鎭�-鍛樺伐-绛剧害鏃堕棿 */ userSignContractTime?: string; /** 绛剧害鏂逛俊鎭�-鍏徃涓讳綋-涓讳綋绫诲瀷 */ @@ -4128,7 +4164,7 @@ interface InviteElectronSignCommand { /** 鐏靛伐Id */ - id?: string; + ids?: string[]; /** 鍚堝悓妯℃澘Id */ contractTemplateId?: string; } @@ -4764,7 +4800,7 @@ interface StopElectronSignCommand { /** 鐏靛伐Id */ - id?: string; + ids?: string[]; } interface SubmitCheckReceiveTaskCommand { diff --git a/src/views/FlexJobManage/FlexJobManage.vue b/src/views/FlexJobManage/FlexJobManage.vue index dca1aa8..55741d4 100644 --- a/src/views/FlexJobManage/FlexJobManage.vue +++ b/src/views/FlexJobManage/FlexJobManage.vue @@ -187,8 +187,8 @@ extraProps: { hide: (row: API.GetEnterpriseEmployeesQueryResultItem) => !( - row.userSignContractStatus === EnumTaskUserSignContractStatus.Wait || - row.userSignContractStatus === EnumTaskUserSignContractStatus.Stop + row.userSignContractStatus !== EnumTaskUserSignContractStatus.Pass && + row.hireStatus === EnumTaskUserHireStatus.Pass ), }, }, @@ -208,16 +208,16 @@ ), }, }, - { - data: { - enCode: 'delBtn', - name: '鍒犻櫎', - }, - props: { type: 'danger' }, - emits: { - onClick: (role) => handleDelete(role), - }, - }, + // { + // data: { + // enCode: 'delBtn', + // name: '鍒犻櫎', + // }, + // props: { type: 'danger' }, + // emits: { + // onClick: (role) => handleDelete(role), + // }, + // }, ]); const router = useRouter(); @@ -467,7 +467,7 @@ } = useFormDialog({ onConfirm: signContract, defaultFormParams: { - id: '', + ids: [] as string[], contractTemplateId: '', }, }); @@ -475,14 +475,13 @@ function handleInviteSign(row: API.GetEnterpriseEmployeesQueryResultItem) { if (row) { handleSignEdit({ - id: row.id, + ids: [row.id], contractTemplateId: '', }); } } function handleBatchSign() { const selectionRows = getSelectionRows(); - console.log('selectionRows: ', selectionRows); if (selectionRows) { const hasSigned = selectionRows?.some( (x) => @@ -494,14 +493,17 @@ Message.warnMessage('鍕鹃�変汉鍛樹腑鍖呭惈宸茬绾﹀畬鎴愭垨鏈綍鐢ㄤ汉鍛�'); return; } - handleSignAdd(); + handleSignAdd({ + ids: selectionRows.map((x) => x.id), + contractTemplateId: '', + }); } } async function signContract() { try { let params: API.InviteElectronSignCommand = { - id: signEditForm.id, + ids: signEditForm.ids, contractTemplateId: signEditForm.contractTemplateId, }; let res = await enterpriseEmployeeServices.inviteElectronSign(params); @@ -521,20 +523,27 @@ } catch (error) {} } -async function handleUnSign(row: API.GetEnterpriseEmployeesQueryResultItem) { - try { - await Message.tipMessage('纭畾瑙g害鐢ㄦ埛锛�'); - let res = await enterpriseEmployeeServices.stopElectronSign({ id: row.id }); - if (res) { - Message.successMessage('鎿嶄綔鎴愬姛'); - getList(paginationState.pageIndex); - } - } catch (error) {} +function handleUnSign(row: API.GetEnterpriseEmployeesQueryResultItem) { + stopElectronSign([row.id]); } function handleBatchUnSign() { try { - Message.warnMessage('鍔熻兘寮�鍙戜腑'); + const selectionRows = getSelectionRows(); + if (selectionRows) { + stopElectronSign(selectionRows.map((x) => x.id)); + } + } catch (error) {} +} + +async function stopElectronSign(ids: string[]) { + try { + await Message.tipMessage('纭畾瑙g害鐢ㄦ埛锛�'); + let res = await enterpriseEmployeeServices.stopElectronSign({ ids: ids }); + if (res) { + Message.successMessage('鎿嶄綔鎴愬姛'); + getList(paginationState.pageIndex); + } } catch (error) {} } diff --git a/src/views/FlexJobManage/components/SignDialog.vue b/src/views/FlexJobManage/components/SignDialog.vue index 5391d67..90ebbe1 100644 --- a/src/views/FlexJobManage/components/SignDialog.vue +++ b/src/views/FlexJobManage/components/SignDialog.vue @@ -40,7 +40,7 @@ type Form = { title?: string; - id?: string; + ids?: string[]; contractTemplateId?: string; }; -- Gitblit v1.9.1