| | |
| | | |
| | | /** 编号地址场景 */ |
| | | export enum EnumCodeUrlScene { |
| | | /**邀请签约 */ |
| | | InviteElectronSign = 1, |
| | | /**签约地址 */ |
| | | ElectronSignUrl = 10, |
| | | } |
| | |
| | | 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, |
| | | } |
| | | |
| | | /** 资源请求方式 */ |
| | |
| | | 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, |
| | |
| | | import * as menu from './menu'; |
| | | import * as logRecords from './logRecords'; |
| | | import * as fileUtils from './fileUtils'; |
| | | import * as syncDatabase from './syncDatabase'; |
| | | export default { |
| | | enterpriseEmployee, |
| | | user, |
| | |
| | | menu, |
| | | logRecords, |
| | | fileUtils, |
| | | syncDatabase, |
| | | }; |
New file |
| | |
| | | /* 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 || {}), |
| | | }); |
| | | } |
| | |
| | | } |
| | | |
| | | enum EnumCodeUrlScene { |
| | | /**邀请签约 */ |
| | | InviteElectronSign = 1, |
| | | /**签约地址 */ |
| | | ElectronSignUrl = 10, |
| | | } |
| | |
| | | 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 { |
| | |
| | | /** 错误码 */ |
| | | 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; |
| | | /** 错误信息 */ |
| | |
| | | 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; |
| | |
| | | /** 手机号 */ |
| | | contactPhoneNumber?: string; |
| | | checkReceiveStatus?: EnumTaskCheckReceiveStatus; |
| | | settlementStatus?: EnumTaskSettlementStatus; |
| | | /** 所属银行 */ |
| | | bank?: string; |
| | | /** 开户支行名称 */ |
| | |
| | | } |
| | | |
| | | interface PersonalUserElectronSignCommand { |
| | | /** 灵工Id */ |
| | | /** 灵工Id(二选一) */ |
| | | id?: string; |
| | | /** 邀约短信编号(二选一) */ |
| | | smsCode?: string; |
| | | } |
| | | |
| | | interface PersonalUserElectronSignCommandResult { |
| | |
| | | scene?: EnumCodeUrlScene; |
| | | /** 地址 */ |
| | | url?: string; |
| | | /** 参数1 */ |
| | | paramValue1?: string; |
| | | /** 参数2 */ |
| | | paramValue2?: string; |
| | | /** 参数3 */ |
| | | paramValue3?: string; |
| | | /** 参数4 */ |
| | | paramValue4?: string; |
| | | /** 参数5 */ |
| | | paramValue5?: string; |
| | | /** 过期时间 */ |
| | | expiredTime?: string; |
| | | } |
| | |
| | | actualSettlementAmount: number; |
| | | } |
| | | |
| | | type SyncDatabaseCommand = Record<string, any>; |
| | | |
| | | interface SyncElectronSignSettingsCommand { |
| | | /** 项 */ |
| | | items?: SyncElectronSignSettingsCommandItem[]; |
| | |
| | | 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: '', |
| | |
| | | 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() : '合同', |
| | | }), |
| | |
| | | ids: [] as string[], |
| | | customerId: '', |
| | | name: '', |
| | | contractTemplateId: '', |
| | | }, |
| | | }); |
| | | |
| | |
| | | try { |
| | | let params: API.SendInviteElectronSignSmsCommand = { |
| | | ids: editShotMessageForm.ids, |
| | | contractTemplateId: editShotMessageForm.contractTemplateId, |
| | | }; |
| | | let res = await enterpriseEmployeeServices.sendInviteElectronSignSms(params); |
| | | if (res) { |
| | |
| | | <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> |
| | |
| | | |
| | | <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', |
| | |
| | | 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; |
| | |
| | | |
| | | <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'; |
| | | |
| | | //跳转到c端小程序签约详情 |
| | |
| | | }); |
| | | |
| | | 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, |
| | | queryKey: ['enterpriseEmployeeServices/personalUserElectronSign', smsCode], |
| | | queryFn: () => { |
| | | let params: API.PersonalUserElectronSignCommand = { |
| | | smsCode: smsCode, |
| | | }; |
| | | return enterpriseEmployeeServices.personalUserElectronSign(params, { showLoading: false }); |
| | | }, |
| | | { showLoading: false } |
| | | ), |
| | | enabled: computed(() => !!templateCode), |
| | | enabled: computed(() => !!smsCode), |
| | | onSuccess(data) { |
| | | if (data?.signContractLongUrl) { |
| | | window.location.href = data.signContractLongUrl; |
| | | } |
| | | }, |
| | | }); |
| | | </script> |
| | | |
| | |
| | | <template> |
| | | <LoadingLayout :loading="isLoading"> |
| | | <div class="sign-middleware-wrapper"> |
| | | <el-button type="primary" @click="goSign">前往签约</el-button> |
| | | <!-- <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> |