From 8d973d050ba66a497ca763f9670aab457a74e2b1 Mon Sep 17 00:00:00 2001 From: wupengfei <834520024@qq.com> Date: 星期五, 29 八月 2025 13:49:41 +0800 Subject: [PATCH] feat: 签约 --- apps/cMiniApp/src/subpackages/mine/mineAgreementSign/InnerPage.vue | 2 apps/cMiniApp/src/hooks/authentication.ts | 34 +----- apps/cMiniApp/src/subpackages/mine/mineAgreementSignDetail/InnerPage.vue | 16 ++ packages/services/apiV2/enterpriseEmployee.ts | 51 ++++++++++ apps/cMiniApp/src/subpackages/authentication/authenticationResult/authenticationResult.vue | 1 apps/bMiniApp/src/subpackages/flexJobManage/flexJobSign/InnerPage.vue | 2 apps/bMiniApp/src/subpackages/flexJobManage/flexJobDetailFromManage/InnerPage.vue | 13 ++ apps/cMiniApp/src/subpackages/task/taskDetail/InnerPage.vue | 13 +- apps/bMiniApp/src/subpackages/flexJobManage/flexJobManage/InnerPage.vue | 4 apps/cMiniApp/src/subpackages/authentication/authenticationResult/InnerPage.vue | 23 +--- packages/services/apiV2/typings.d.ts | 98 +++++++++++++++++++ packages/services/apiV2/enterprise.ts | 15 +++ packages/constants/apiEnum.ts | 18 +++ packages/constants/enterpriseEmployee.ts | 3 14 files changed, 230 insertions(+), 63 deletions(-) diff --git a/apps/bMiniApp/src/subpackages/flexJobManage/flexJobDetailFromManage/InnerPage.vue b/apps/bMiniApp/src/subpackages/flexJobManage/flexJobDetailFromManage/InnerPage.vue index b915d25..1755a66 100644 --- a/apps/bMiniApp/src/subpackages/flexJobManage/flexJobDetailFromManage/InnerPage.vue +++ b/apps/bMiniApp/src/subpackages/flexJobManage/flexJobDetailFromManage/InnerPage.vue @@ -38,7 +38,9 @@ @click="goToSign" v-if=" enterpriseEmployeeInfo.userSignContractStatus === EnumTaskUserSignContractStatus.Wait || - enterpriseEmployeeInfo.userSignContractStatus === EnumTaskUserSignContractStatus.Refuse + enterpriseEmployeeInfo.userSignContractStatus === + EnumTaskUserSignContractStatus.Refuse || + !enterpriseEmployeeInfo.userSignContractStatus " >绛剧害</PageFooterBtn > @@ -51,6 +53,7 @@ import Taro from '@tarojs/taro'; import { EnumTaskUserSignContractStatus } from '@12333/constants'; import { useGetEnterpriseEmployee, useUserResume } from '@12333/hooks'; +import * as enterpriseEmployeeServices from '@12333/services/apiV2/enterpriseEmployee'; import { Message } from '@12333/utils'; defineOptions({ @@ -77,6 +80,14 @@ async function handleUnsign() { try { await Message.confirm({ message: '纭畾瑕佽В绾﹀悧锛�' }); + let params: API.StopElectronSignCommand = { + id: enterpriseEmployeeInfo.value?.id, + }; + let res = await enterpriseEmployeeServices.stopElectronSign(params); + if (res) { + Message.success('瑙g害鎴愬姛'); + refetch(); + } } catch (error) {} } </script> diff --git a/apps/bMiniApp/src/subpackages/flexJobManage/flexJobManage/InnerPage.vue b/apps/bMiniApp/src/subpackages/flexJobManage/flexJobManage/InnerPage.vue index 46982c2..4cfbfce 100644 --- a/apps/bMiniApp/src/subpackages/flexJobManage/flexJobManage/InnerPage.vue +++ b/apps/bMiniApp/src/subpackages/flexJobManage/flexJobManage/InnerPage.vue @@ -10,7 +10,7 @@ > <ProTabPane :title="`宸茬绾" :pane-key="EnumTaskUserSignContractStatus.Pass"></ProTabPane> <ProTabPane :title="`寰呯绾" :pane-key="EnumTaskUserSignContractStatus.Wait"></ProTabPane> - <ProTabPane :title="`宸茶В绾" :pane-key="EnumTaskUserSignContractStatus.Refuse"></ProTabPane> + <ProTabPane :title="`宸茶В绾" :pane-key="EnumTaskUserSignContractStatus.Stop"></ProTabPane> </ProTabs> <InfiniteLoading scrollViewClassName="common-infinite-scroll-list home-list" @@ -49,7 +49,7 @@ <nut-button v-else-if=" Number(queryState.userSignContractStatus) === EnumTaskUserSignContractStatus.Wait || - Number(queryState.userSignContractStatus) === EnumTaskUserSignContractStatus.Refuse + Number(queryState.userSignContractStatus) === EnumTaskUserSignContractStatus.Stop " type="primary" @click.stop="goFlexJobSign(item)" diff --git a/apps/bMiniApp/src/subpackages/flexJobManage/flexJobSign/InnerPage.vue b/apps/bMiniApp/src/subpackages/flexJobManage/flexJobSign/InnerPage.vue index 30a32f4..53c37f2 100644 --- a/apps/bMiniApp/src/subpackages/flexJobManage/flexJobSign/InnerPage.vue +++ b/apps/bMiniApp/src/subpackages/flexJobManage/flexJobSign/InnerPage.vue @@ -74,7 +74,7 @@ }); }, { - queryKey: ['flexWorkerServices/getFlexTaskByArrange'], + queryKey: ['flexWorkerServices/getFlexTaskByArrange', queryState], } ); diff --git a/apps/cMiniApp/src/hooks/authentication.ts b/apps/cMiniApp/src/hooks/authentication.ts index 4b3638a..dfa4a32 100644 --- a/apps/cMiniApp/src/hooks/authentication.ts +++ b/apps/cMiniApp/src/hooks/authentication.ts @@ -1,11 +1,11 @@ -import * as userServices from '@12333/services/api/User'; +import * as electronSignServices from '@12333/services/apiV2/electronSign'; import { useQuery, useQueryClient } from '@tanstack/vue-query'; import { getUserCertificationFrontStatusAdapter } from '@12333/utils'; import { UserCertificationFrontStatus } from '@12333/constants'; import { useUser } from './user'; type UseMyCertificationAuditInfoOptions = { - onSuccess?: (data: API.MyCertificationAuditDto) => void; + onSuccess?: (data: API.GetPersonalUserRealResultQueryResult) => void; }; export function useMyCertificationAuditInfo(options: UseMyCertificationAuditInfoOptions = {}) { @@ -16,15 +16,12 @@ const queryClient = useQueryClient(); const { data, isLoading } = useQuery({ - queryKey: ['userServices/getMyCertificationAuditInfo'], + queryKey: ['electronSignServices/getPersonalUserRealResult'], queryFn: async () => { - return await userServices.getMyCertificationAuditInfo({ showLoading: false }); + return await electronSignServices.getPersonalUserRealResult({}, { showLoading: false }); }, - placeholderData: () => null as API.MyCertificationAuditDto, + placeholderData: () => null as API.GetPersonalUserRealResultQueryResult, select(data) { - if (data) { - data.frontStatus = getUserCertificationFrontStatusAdapter(data.status, data.auditStatus); - } return data; }, onSuccess(data) { @@ -32,40 +29,23 @@ }, }); - /** - * 鏄惁鏈夊鏍稿崟 - */ - const hasAduit = computed(() => { - return data && !!data.value?.currentUserCertificationAuditId; - }); - - const isCertified = computed( - () => data?.value?.frontStatus === UserCertificationFrontStatus.Certified - ); - const isExpired = computed( - () => data?.value?.frontStatus === UserCertificationFrontStatus.Expired - ); - function invalidateCertificationAuditInfo() { updateUserInfo(); return queryClient.invalidateQueries({ - queryKey: ['userServices/getMyCertificationAuditInfo'], + queryKey: ['electronSignServices/getPersonalUserRealResult'], }); } function ensureCertificationAuditInfo() { return queryClient.ensureQueryData({ - queryKey: ['userServices/getMyCertificationAuditInfo'], + queryKey: ['electronSignServices/getPersonalUserRealResult'], }); } return { myCertificationAuditInfo: data, isLoading, - hasAduit, invalidateCertificationAuditInfo, - isCertified, - isExpired, ensureCertificationAuditInfo, }; } diff --git a/apps/cMiniApp/src/subpackages/authentication/authenticationResult/InnerPage.vue b/apps/cMiniApp/src/subpackages/authentication/authenticationResult/InnerPage.vue index b6f78a2..f2abe5b 100644 --- a/apps/cMiniApp/src/subpackages/authentication/authenticationResult/InnerPage.vue +++ b/apps/cMiniApp/src/subpackages/authentication/authenticationResult/InnerPage.vue @@ -1,15 +1,9 @@ <template> <LoadingLayout :loading="isLoading"> - <div - class="result-wrapper" - v-if="myCertificationAuditInfo?.frontStatus === UserCertificationFrontStatus.NotCertified" - > + <!-- <div class="result-wrapper" v-if="!myCertificationAuditInfo?.isReal"> <div class="result-title">鏈璇�</div> - </div> - <div - class="result-wrapper" - v-else-if="myCertificationAuditInfo?.frontStatus === UserCertificationFrontStatus.Certified" - > + </div> --> + <div class="result-wrapper" v-if="myCertificationAuditInfo?.isReal"> <img class="result-icon" :src="IconSuccess" /> <div class="result-title">璁よ瘉鎴愬姛</div> <div class="result-subtitle">鎮ㄧ殑瀹炲悕宸茶璇佹垚鍔�</div> @@ -17,14 +11,13 @@ >杩斿洖涓汉涓績</PageFooterBtn > </div> - <div - class="result-wrapper" - v-else-if="myCertificationAuditInfo?.frontStatus === UserCertificationFrontStatus.Rejected" - > + <div class="result-wrapper" v-else> <img class="result-icon" :src="IconError" /> <div class="result-title">璁よ瘉澶辫触</div> <div class="result-subtitle">鎮ㄧ殑瀹炲悕璁よ瘉澶辫触</div> - <div class="result-subtitle">澶辫触鍘熷洜锛歿{ myCertificationAuditInfo?.auditNote ?? '' }}</div> + <div class="result-subtitle"> + 澶辫触鍘熷洜锛歿{ myCertificationAuditInfo?.realFailMessage ?? '' }} + </div> <PageFooterBtn type="primary" class="result-btn" @click="goBack()" >閲嶆柊鎻愪氦璁よ瘉</PageFooterBtn > @@ -34,11 +27,9 @@ <script setup lang="ts"> import { useMyCertificationAuditInfo, useSwitchTab } from '@/hooks'; -import Taro from '@tarojs/taro'; import { goBack } from '@/utils'; import IconSuccess from '@/assets/authentication/icon-result-success.png'; import IconError from '@/assets/authentication/icon-result-error.png'; -import { UserCertificationFrontStatus } from '@12333/constants'; defineOptions({ name: 'InnerPage', diff --git a/apps/cMiniApp/src/subpackages/authentication/authenticationResult/authenticationResult.vue b/apps/cMiniApp/src/subpackages/authentication/authenticationResult/authenticationResult.vue index c473484..46cfd6b 100644 --- a/apps/cMiniApp/src/subpackages/authentication/authenticationResult/authenticationResult.vue +++ b/apps/cMiniApp/src/subpackages/authentication/authenticationResult/authenticationResult.vue @@ -4,7 +4,6 @@ class="authenticationResult-page-wrapper" hasBorder :backFn="handleBack" - developing > <InnerPage /> </PageLayout> diff --git a/apps/cMiniApp/src/subpackages/mine/mineAgreementSign/InnerPage.vue b/apps/cMiniApp/src/subpackages/mine/mineAgreementSign/InnerPage.vue index 6009d62..0153c1f 100644 --- a/apps/cMiniApp/src/subpackages/mine/mineAgreementSign/InnerPage.vue +++ b/apps/cMiniApp/src/subpackages/mine/mineAgreementSign/InnerPage.vue @@ -10,7 +10,7 @@ > <ProTabPane :title="`鍏ㄩ儴`" :pane-key="0"></ProTabPane> <ProTabPane :title="`寰呯绾" :pane-key="EnumTaskUserSignContractStatus.Wait"></ProTabPane> - <ProTabPane :title="`鐢熸晥涓璥" :pane-key="EnumTaskUserSignContractStatus.Effect"></ProTabPane> + <ProTabPane :title="`鐢熸晥涓璥" :pane-key="EnumTaskUserSignContractStatus.Pass"></ProTabPane> <ProTabPane :title="`宸茬粓姝" :pane-key="EnumTaskUserSignContractStatus.Stop"></ProTabPane> </ProTabs> <InfiniteLoading diff --git a/apps/cMiniApp/src/subpackages/mine/mineAgreementSignDetail/InnerPage.vue b/apps/cMiniApp/src/subpackages/mine/mineAgreementSignDetail/InnerPage.vue index 38af6bf..2d3090e 100644 --- a/apps/cMiniApp/src/subpackages/mine/mineAgreementSignDetail/InnerPage.vue +++ b/apps/cMiniApp/src/subpackages/mine/mineAgreementSignDetail/InnerPage.vue @@ -83,6 +83,7 @@ name: 'InnerPage', }); +const { userDetail } = useUser(); const router = Taro.useRouter(); const id = router.params?.id; const code = router.params?.code; @@ -93,7 +94,7 @@ data: detail, refetch, } = useQuery({ - queryKey: ['enterpriseEmployeeServices/getTaskInfo', id, code], + queryKey: ['enterpriseEmployeeServices/getPersonalUserElectronSign', id, code], queryFn: async () => { return await enterpriseEmployeeServices.getPersonalUserElectronSign( { id: id, code: code }, @@ -115,7 +116,18 @@ }); } -const goToSign = useAccessReal(() => {}); +const goToSign = useAccessReal(async () => { + try { + let params: API.PersonalUserElectronSignCommand = { + id: id, + }; + let res = await enterpriseEmployeeServices.personalUserElectronSign(params); + if (res) { + const encodedUrl = encodeURIComponent(res.signContractLongUrl); + Taro.navigateTo({ url: `${RouterPath.extraPage}?url=${encodedUrl}` }); + } + } catch (error) {} +}); </script> <style lang="scss"> diff --git a/apps/cMiniApp/src/subpackages/task/taskDetail/InnerPage.vue b/apps/cMiniApp/src/subpackages/task/taskDetail/InnerPage.vue index 58fd1fc..96d7728 100644 --- a/apps/cMiniApp/src/subpackages/task/taskDetail/InnerPage.vue +++ b/apps/cMiniApp/src/subpackages/task/taskDetail/InnerPage.vue @@ -159,6 +159,7 @@ import { useQuery } from '@tanstack/vue-query'; import * as taskServices from '@12333/services/apiV2/task'; import * as taskUserServices from '@12333/services/apiV2/taskUser'; +import * as enterpriseEmployeeServices from '@12333/services/apiV2/enterpriseEmployee'; import { useToggle } from 'senin-mini/hooks'; import { TaskPrice, TaskDetailWelfareItem } from '@12333/components'; import IconAttention from '@/assets/task/icon-attention.png'; @@ -192,7 +193,7 @@ /** * TODO 缂哄皯 鎶曡瘔涓炬姤鎺ュ彛 */ - +const { userDetail } = useUser(); const router = Taro.useRouter(); const id = router.params?.id ?? ''; const from = router.params?.from ?? ''; @@ -281,11 +282,11 @@ url: `${RouterPath.taskSubmitCheck}?id=${id}`, }); } -function handleSign() { - // Taro.navigateTo({ - // url: `${RouterPath}?id=${id}`, - // }); -} +const handleSign = useAccessReal(() => { + Taro.navigateTo({ + url: `${RouterPath.mineAgreementSignDetail}?id=${detail.value?.enterpriseEmployeeId}`, + }); +}); function goMap() { Taro.openLocation({ diff --git a/packages/constants/apiEnum.ts b/packages/constants/apiEnum.ts index bd799b6..e4382ec 100644 --- a/packages/constants/apiEnum.ts +++ b/packages/constants/apiEnum.ts @@ -71,6 +71,22 @@ AlipaySign = 20, } +/** 浼佷笟鐢ㄩ噺鎵h垂鐘舵�� */ +export enum EnumEnterpriseCostStatus { + /**鎵h垂鎴愬姛 */ + Success = 10, + /**鎵h垂澶辫触 */ + Fail = 20, +} + +/** 浼佷笟鐢ㄩ噺绫诲瀷 */ +export enum EnumEnterpriseCostType { + /**鐭俊 */ + SMS = 10, + /**鐢靛瓙绛� */ + ElectronSign = 20, +} + /** 浼佷笟瀹炲悕鏂瑰紡 */ export enum EnumEnterpriseRealMethod { /**浼佷笟涓夎绱� */ @@ -331,8 +347,6 @@ Pass = 20, /**宸叉嫆绛� */ Refuse = 30, - /**鐢熸晥涓� */ - Effect = 40, /**宸茬粓姝� */ Stop = 50, } diff --git a/packages/constants/enterpriseEmployee.ts b/packages/constants/enterpriseEmployee.ts index 3049b07..3e2de51 100644 --- a/packages/constants/enterpriseEmployee.ts +++ b/packages/constants/enterpriseEmployee.ts @@ -23,6 +23,5 @@ [EnumTaskUserSignContractStatus.Wait]: '寰呯绾�', [EnumTaskUserSignContractStatus.Pass]: '宸茬绾�', [EnumTaskUserSignContractStatus.Refuse]: '宸叉嫆绛�', - [EnumTaskUserSignContractStatus.Effect]: '鐢熸晥涓�', - [EnumTaskUserSignContractStatus.Stop]: '宸茬粓姝�', + [EnumTaskUserSignContractStatus.Stop]: '宸茶В绾�', }; diff --git a/packages/services/apiV2/enterprise.ts b/packages/services/apiV2/enterprise.ts index 084e76e..868563d 100644 --- a/packages/services/apiV2/enterprise.ts +++ b/packages/services/apiV2/enterprise.ts @@ -80,6 +80,21 @@ }); } +/** 淇濆瓨浼佷笟璐圭敤 POST /api/user/enterprise/saveEnterpriseCost */ +export async function saveEnterpriseCost( + body: API.SaveEnterpriseCostCommand, + options?: API.RequestConfig +) { + return request<string>('/api/user/enterprise/saveEnterpriseCost', { + method: 'POST', + headers: { + 'Content-Type': 'application/json-patch+json', + }, + data: body, + ...(options || {}), + }); +} + /** 璁剧疆浼佷笟鐢靛瓙绛鹃厤缃� PUT /api/user/enterprise/setEnterpriseElectronSignSetting */ export async function setEnterpriseElectronSignSetting( body: API.SetEnterpriseElectronSignSettingCommand, diff --git a/packages/services/apiV2/enterpriseEmployee.ts b/packages/services/apiV2/enterpriseEmployee.ts index 41ba82d..dbf7f68 100644 --- a/packages/services/apiV2/enterpriseEmployee.ts +++ b/packages/services/apiV2/enterpriseEmployee.ts @@ -17,6 +17,24 @@ }); } +/** 浼佷笟鐢ㄦ埛绛剧害 POST /api/user/enterpriseEmployee/enterpriseUserElectronSign */ +export async function enterpriseUserElectronSign( + body: API.EnterpriseUserElectronSignCommand, + options?: API.RequestConfig +) { + return request<API.EnterpriseUserElectronSignCommandResult>( + '/api/user/enterpriseEmployee/enterpriseUserElectronSign', + { + method: 'POST', + headers: { + 'Content-Type': 'application/json-patch+json', + }, + data: body, + ...(options || {}), + } + ); +} + /** 鏌ヨ鐏靛伐璇︽儏 GET /api/user/enterpriseEmployee/getEnterpriseEmployee */ export async function getEnterpriseEmployee( // 鍙犲姞鐢熸垚鐨凱aram绫诲瀷 (闈瀊ody鍙傛暟swagger榛樿娌℃湁鐢熸垚瀵硅薄) @@ -121,3 +139,36 @@ ...(options || {}), }); } + +/** 涓汉鐢ㄦ埛绛剧害 POST /api/user/enterpriseEmployee/personalUserElectronSign */ +export async function personalUserElectronSign( + body: API.PersonalUserElectronSignCommand, + options?: API.RequestConfig +) { + return request<API.PersonalUserElectronSignCommandResult>( + '/api/user/enterpriseEmployee/personalUserElectronSign', + { + method: 'POST', + headers: { + 'Content-Type': 'application/json-patch+json', + }, + data: body, + ...(options || {}), + } + ); +} + +/** 鐏靛伐瑙g害 POST /api/user/enterpriseEmployee/stopElectronSign */ +export async function stopElectronSign( + body: API.StopElectronSignCommand, + options?: API.RequestConfig +) { + return request<string>('/api/user/enterpriseEmployee/stopElectronSign', { + method: 'POST', + headers: { + 'Content-Type': 'application/json-patch+json', + }, + data: body, + ...(options || {}), + }); +} diff --git a/packages/services/apiV2/typings.d.ts b/packages/services/apiV2/typings.d.ts index 0b8e9b4..c677790 100644 --- a/packages/services/apiV2/typings.d.ts +++ b/packages/services/apiV2/typings.d.ts @@ -389,6 +389,18 @@ data?: any; } + interface EnterpriseUserElectronSignCommand { + /** 鐏靛伐Id */ + id?: string; + } + + interface EnterpriseUserElectronSignCommandResult { + /** 绛剧讲鍚堝悓鐭摼鎺� */ + signContractShortUrl?: string; + /** 绛剧讲鍚堝悓闀块摼鎺� */ + signContractLongUrl?: string; + } + enum EnumBillingMethod { /**鎸夋湀 */ Month = 10, @@ -449,6 +461,20 @@ BestSign = 10, /**鏀粯瀹濅俊浠荤 */ AlipaySign = 20, + } + + enum EnumEnterpriseCostStatus { + /**鎵h垂鎴愬姛 */ + Success = 10, + /**鎵h垂澶辫触 */ + Fail = 20, + } + + enum EnumEnterpriseCostType { + /**鐭俊 */ + SMS = 10, + /**鐢靛瓙绛� */ + ElectronSign = 20, } enum EnumEnterpriseRealMethod { @@ -687,8 +713,6 @@ Pass = 20, /**宸叉嫆绛� */ Refuse = 30, - /**鐢熸晥涓� */ - Effect = 40, /**宸茬粓姝� */ Stop = 50, } @@ -750,6 +774,24 @@ errorCode?: string; /** 鏁版嵁 */ data?: boolean; + /** 鎵ц鎴愬姛 */ + success?: boolean; + /** 閿欒淇℃伅 */ + msg?: any; + /** 闄勫姞鏁版嵁 */ + extras?: any; + /** 鏃堕棿鎴� */ + timestamp?: number; + } + + interface FriendlyResultEnterpriseUserElectronSignCommandResult { + /** 璺熻釜Id */ + traceId?: string; + /** 鐘舵�佺爜 */ + code?: number; + /** 閿欒鐮� */ + errorCode?: string; + data?: EnterpriseUserElectronSignCommandResult; /** 鎵ц鎴愬姛 */ success?: boolean; /** 閿欒淇℃伅 */ @@ -1961,6 +2003,24 @@ timestamp?: number; } + interface FriendlyResultPersonalUserElectronSignCommandResult { + /** 璺熻釜Id */ + traceId?: string; + /** 鐘舵�佺爜 */ + code?: number; + /** 閿欒鐮� */ + errorCode?: string; + data?: PersonalUserElectronSignCommandResult; + /** 鎵ц鎴愬姛 */ + success?: boolean; + /** 閿欒淇℃伅 */ + msg?: any; + /** 闄勫姞鏁版嵁 */ + extras?: any; + /** 鏃堕棿鎴� */ + timestamp?: number; + } + interface FriendlyResultString { /** 璺熻釜Id */ traceId?: string; @@ -2182,6 +2242,8 @@ /** 鎻愪氦Id */ id?: string; enterpriseEmployeeUser?: GetCheckReceiveTaskUserSubmitsQueryResultObjectDataEnterpriseEmployeeUser; + /** 楠屾敹鏃堕棿 */ + date?: string; /** 鎻愪氦鏃堕棿 */ createdTime?: string; /** 楠屾敹鐓х墖 */ @@ -2206,6 +2268,8 @@ interface GetCheckReceiveTaskUserSubmitsQueryResultItem { /** 鎻愪氦Id */ id?: string; + /** 楠屾敹鏃堕棿 */ + date?: string; /** 鎻愪氦鏃堕棿 */ createdTime?: string; /** 楠屾敹鐓х墖 */ @@ -3564,6 +3628,8 @@ status?: EnumTaskStatus; releaseStatus?: EnumTaskReleaseStatus; hireStatus?: EnumTaskUserHireStatus; + /** 鐏靛伐Id */ + enterpriseEmployeeId?: string; applyButton?: GetTaskInfoQueryResultApplyButton; hireButton?: GetTaskInfoQueryResultHireButton; } @@ -4147,6 +4213,18 @@ clientType?: EnumClientType; } + interface PersonalUserElectronSignCommand { + /** 鐏靛伐Id */ + id?: string; + } + + interface PersonalUserElectronSignCommandResult { + /** 绛剧讲鍚堝悓鐭摼鎺� */ + signContractShortUrl?: string; + /** 绛剧讲鍚堝悓闀块摼鎺� */ + signContractLongUrl?: string; + } + interface PersonalUserFaceRealCommand { /** 濮撳悕 */ name: string; @@ -4299,6 +4377,17 @@ password?: string; /** Id */ id?: string; + } + + interface SaveEnterpriseCostCommand { + /** 浼佷笟Id */ + enterpriseId?: string; + type?: EnumEnterpriseCostType; + /** 鍚堝悓妯℃澘Id */ + contractTemplateId?: string; + /** 鐏靛伐鍚堝悓Id */ + enterpriseEmployeeContractId?: string; + status?: EnumEnterpriseCostStatus; } interface SaveMenuButtonCommand { @@ -4673,6 +4762,11 @@ clientType?: EnumClientType; } + interface StopElectronSignCommand { + /** 鐏靛伐Id */ + id?: string; + } + interface SubmitCheckReceiveTaskCommand { /** 浠诲姟Id */ taskInfoId?: string; -- Gitblit v1.9.1