| | |
| | | "EnumBillingMethodUnitText": true, |
| | | "EnumClientType": true, |
| | | "EnumClientTypeText": true, |
| | | "EnumContractTemplateStatus": true, |
| | | "EnumContractTemplateStatusText": true, |
| | | "EnumContractTemplateStatusTextForEnterpriseFilter": true, |
| | | "EnumContractTemplateValueRecorder": true, |
| | | "EnumContractTemplateValueType": true, |
| | | "EnumDataSource": true, |
| | | "EnumDbAuditOperate": true, |
| | | "EnumDbAuditOperateText": true, |
| | | "EnumElectronSignAccess": true, |
| | | "EnumElectronSignAccessText": true, |
| | | "EnumEnterpriseRealMethod": true, |
| | | "EnumMenuType": true, |
| | | "EnumMenuVisitLevel": true, |
| | |
| | | "useModel": true, |
| | | "useOmit": true, |
| | | "useOmitProps": true, |
| | | "useOpenLogDialog": true, |
| | | "usePortraitTable": true, |
| | | "usePortraitTableWithAttachment": true, |
| | | "useResizeHander": true, |
| | |
| | | const EnumBillingMethodUnitText: typeof import('./src/constants/task')['EnumBillingMethodUnitText'] |
| | | const EnumClientType: typeof import('./src/constants/apiEnum')['EnumClientType'] |
| | | const EnumClientTypeText: typeof import('./src/constants/apiEnumText')['EnumClientTypeText'] |
| | | const EnumContractTemplateStatus: typeof import('./src/constants/apiEnum')['EnumContractTemplateStatus'] |
| | | const EnumContractTemplateStatusText: typeof import('./src/constants/electronSign')['EnumContractTemplateStatusText'] |
| | | const EnumContractTemplateStatusTextForEnterpriseFilter: typeof import('./src/constants/electronSign')['EnumContractTemplateStatusTextForEnterpriseFilter'] |
| | | const EnumContractTemplateValueRecorder: typeof import('./src/constants/apiEnum')['EnumContractTemplateValueRecorder'] |
| | | const EnumContractTemplateValueType: typeof import('./src/constants/apiEnum')['EnumContractTemplateValueType'] |
| | | const EnumDataSource: typeof import('./src/constants/apiEnum')['EnumDataSource'] |
| | | const EnumDbAuditOperate: typeof import('./src/constants/apiEnum')['EnumDbAuditOperate'] |
| | | const EnumDbAuditOperateText: typeof import('./src/constants/apiEnumText')['EnumDbAuditOperateText'] |
| | | const EnumElectronSignAccess: typeof import('./src/constants/apiEnum')['EnumElectronSignAccess'] |
| | | const EnumElectronSignAccessText: typeof import('./src/constants/electronSign')['EnumElectronSignAccessText'] |
| | | const EnumEnterpriseRealMethod: typeof import('./src/constants/apiEnum')['EnumEnterpriseRealMethod'] |
| | | const EnumMenuType: typeof import('./src/constants/apiEnum')['EnumMenuType'] |
| | | const EnumMenuVisitLevel: typeof import('./src/constants/apiEnum')['EnumMenuVisitLevel'] |
| | |
| | | const useModel: typeof import('vue')['useModel'] |
| | | const useOmit: typeof import('./src/hooks/help')['useOmit'] |
| | | const useOmitProps: typeof import('./src/hooks/help')['useOmitProps'] |
| | | const useOpenLogDialog: typeof import('./src/hooks/log')['useOpenLogDialog'] |
| | | const usePortraitTable: typeof import('./src/hooks/portraitTable')['usePortraitTable'] |
| | | const usePortraitTableWithAttachment: typeof import('./src/hooks/portraitTable')['usePortraitTableWithAttachment'] |
| | | const useResizeHander: typeof import('./src/hooks/useResizeHander')['useResizeHander'] |
| | |
| | | export type { Component, Slot, Slots, ComponentPublicInstance, ComputedRef, DirectiveBinding, ExtractDefaultPropTypes, ExtractPropTypes, ExtractPublicPropTypes, InjectionKey, PropType, Ref, MaybeRef, MaybeRefOrGetter, VNode, WritableComputedRef } from 'vue' |
| | | import('vue') |
| | | // @ts-ignore |
| | | export type { EnumBillingMethod, EnumClientType, EnumDataSource, EnumDbAuditOperate, EnumEnterpriseRealMethod, EnumMenuType, EnumMenuVisitLevel, EnumOcrAccess, EnumPagedListOrder, EnumPayAccess, EnumPersonalFreeTime, EnumPersonalJobSeekingStatus, EnumPersonalRealMethod, EnumRealAccess, EnumResourceController, EnumResourceMethod, EnumRoleWebApiDataPower, EnumSettlementCycle, EnumSmsAccess, EnumTaskCheckReceiveStatus, EnumTaskRecommendStatus, EnumTaskReleaseStatus, EnumTaskSettlementStatus, EnumTaskStatus, EnumTaskUserArrangeStatus, EnumTaskUserHireStatus, EnumTaskUserSignContractStatus, EnumTaskUserSubmitCheckReceiveStatus, EnumUserGender, EnumUserRealMethod, EnumUserStatus, EnumUserType, GetPersonalApplyTaskInfosQueryStatus, GetPersonalHireTaskInfosQueryStatus, GetTaskInfoQueryResultApplyButton, GetTaskInfoQueryResultHireButton, EnumBillingMethod, EnumClientType, EnumDataSource, EnumDbAuditOperate, EnumEnterpriseRealMethod, EnumMenuType, EnumMenuVisitLevel, EnumOcrAccess, EnumPagedListOrder, EnumPayAccess, EnumPersonalFreeTime, EnumPersonalJobSeekingStatus, EnumPersonalRealMethod, EnumRealAccess, EnumResourceController, EnumResourceMethod, EnumRoleWebApiDataPower, EnumSettlementCycle, EnumSmsAccess, EnumTaskCheckReceiveStatus, EnumTaskRecommendStatus, EnumTaskReleaseStatus, EnumTaskSettlementStatus, EnumTaskStatus, EnumTaskUserArrangeStatus, EnumTaskUserHireStatus, EnumTaskUserSignContractStatus, EnumTaskUserSubmitCheckReceiveStatus, EnumUserGender, EnumUserRealMethod, EnumUserStatus, EnumUserType, GetPersonalApplyTaskInfosQueryStatus, GetPersonalHireTaskInfosQueryStatus, GetTaskInfoQueryResultApplyButton, GetTaskInfoQueryResultHireButton } from './src/constants/apiEnum' |
| | | export type { EnumBillingMethod, EnumClientType, EnumContractTemplateStatus, EnumContractTemplateValueRecorder, EnumContractTemplateValueType, EnumDataSource, EnumDbAuditOperate, EnumElectronSignAccess, EnumEnterpriseRealMethod, EnumMenuType, EnumMenuVisitLevel, EnumOcrAccess, EnumPagedListOrder, EnumPayAccess, EnumPersonalFreeTime, EnumPersonalJobSeekingStatus, EnumPersonalRealMethod, EnumRealAccess, EnumResourceController, EnumResourceMethod, EnumRoleWebApiDataPower, EnumSettlementCycle, EnumSmsAccess, EnumTaskCheckReceiveStatus, EnumTaskRecommendStatus, EnumTaskReleaseStatus, EnumTaskSettlementStatus, EnumTaskStatus, EnumTaskUserArrangeStatus, EnumTaskUserHireStatus, EnumTaskUserSignContractStatus, EnumTaskUserSubmitCheckReceiveStatus, EnumUserGender, EnumUserRealMethod, EnumUserStatus, EnumUserType, GetPersonalApplyTaskInfosQueryStatus, GetPersonalHireTaskInfosQueryStatus, GetTaskInfoQueryResultApplyButton, GetTaskInfoQueryResultHireButton, EnumBillingMethod, EnumClientType, EnumContractTemplateStatus, EnumContractTemplateValueRecorder, EnumContractTemplateValueType, EnumDataSource, EnumDbAuditOperate, EnumElectronSignAccess, EnumEnterpriseRealMethod, EnumMenuType, EnumMenuVisitLevel, EnumOcrAccess, EnumPagedListOrder, EnumPayAccess, EnumPersonalFreeTime, EnumPersonalJobSeekingStatus, EnumPersonalRealMethod, EnumRealAccess, EnumResourceController, EnumResourceMethod, EnumRoleWebApiDataPower, EnumSettlementCycle, EnumSmsAccess, EnumTaskCheckReceiveStatus, EnumTaskRecommendStatus, EnumTaskReleaseStatus, EnumTaskSettlementStatus, EnumTaskStatus, EnumTaskUserArrangeStatus, EnumTaskUserHireStatus, EnumTaskUserSignContractStatus, EnumTaskUserSubmitCheckReceiveStatus, EnumUserGender, EnumUserRealMethod, EnumUserStatus, EnumUserType, GetPersonalApplyTaskInfosQueryStatus, GetPersonalHireTaskInfosQueryStatus, GetTaskInfoQueryResultApplyButton, GetTaskInfoQueryResultHireButton } from './src/constants/apiEnum' |
| | | import('./src/constants/apiEnum') |
| | | // @ts-ignore |
| | | export type { FlexWorkerEleSignEnum, FlexTaskWorkerHireEnum, FlexWorkerEleSignEnum, FlexTaskWorkerHireEnum } from './src/constants/cPerson' |
| | |
| | | readonly EnumBillingMethodUnitText: UnwrapRef<typeof import('./src/constants/task')['EnumBillingMethodUnitText']> |
| | | readonly EnumClientType: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumClientType']> |
| | | readonly EnumClientTypeText: UnwrapRef<typeof import('./src/constants/apiEnumText')['EnumClientTypeText']> |
| | | readonly EnumContractTemplateStatus: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumContractTemplateStatus']> |
| | | readonly EnumContractTemplateStatusText: UnwrapRef<typeof import('./src/constants/electronSign')['EnumContractTemplateStatusText']> |
| | | readonly EnumContractTemplateStatusTextForEnterpriseFilter: UnwrapRef<typeof import('./src/constants/electronSign')['EnumContractTemplateStatusTextForEnterpriseFilter']> |
| | | readonly EnumContractTemplateValueRecorder: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumContractTemplateValueRecorder']> |
| | | readonly EnumContractTemplateValueType: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumContractTemplateValueType']> |
| | | readonly EnumDataSource: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumDataSource']> |
| | | readonly EnumDbAuditOperate: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumDbAuditOperate']> |
| | | readonly EnumDbAuditOperateText: UnwrapRef<typeof import('./src/constants/apiEnumText')['EnumDbAuditOperateText']> |
| | | readonly EnumElectronSignAccess: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumElectronSignAccess']> |
| | | readonly EnumElectronSignAccessText: UnwrapRef<typeof import('./src/constants/electronSign')['EnumElectronSignAccessText']> |
| | | readonly EnumEnterpriseRealMethod: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumEnterpriseRealMethod']> |
| | | readonly EnumMenuType: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumMenuType']> |
| | | readonly EnumMenuVisitLevel: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumMenuVisitLevel']> |
| | |
| | | readonly useModel: UnwrapRef<typeof import('vue')['useModel']> |
| | | readonly useOmit: UnwrapRef<typeof import('./src/hooks/help')['useOmit']> |
| | | readonly useOmitProps: UnwrapRef<typeof import('./src/hooks/help')['useOmitProps']> |
| | | readonly useOpenLogDialog: UnwrapRef<typeof import('./src/hooks/log')['useOpenLogDialog']> |
| | | readonly usePortraitTable: UnwrapRef<typeof import('./src/hooks/portraitTable')['usePortraitTable']> |
| | | readonly usePortraitTableWithAttachment: UnwrapRef<typeof import('./src/hooks/portraitTable')['usePortraitTableWithAttachment']> |
| | | readonly useResizeHander: UnwrapRef<typeof import('./src/hooks/useResizeHander')['useResizeHander']> |
| | |
| | | </template> |
| | | |
| | | <script setup lang="ts"> |
| | | import { ProDialog, ProTableV2, ProDialogTableWrapper } from '@bole-core/components'; |
| | | import { useTableLogList } from '@/hooks'; |
| | | import { ProDialog, ProTableV2, ProDialogTableWrapper, defineColumns } from '@bole-core/components'; |
| | | |
| | | defineOptions({ |
| | | name: 'OperateHistoryLogDialog', |
| | |
| | | type Props = { |
| | | modelValue: boolean; |
| | | relationId: string; |
| | | operateType?: number; |
| | | getList: (pageIndex?: number) => Promise<void>; |
| | | proTableProps: any; |
| | | }; |
| | | |
| | | const props = withDefaults(defineProps<Props>(), { |
| | |
| | | () => props.modelValue, |
| | | async (visible, oldVisible) => { |
| | | if (!oldVisible && visible) { |
| | | await getList(); |
| | | state.loading = false; |
| | | await props.getList(); |
| | | } |
| | | } |
| | | ); |
| | | |
| | | function onDialogClose() { |
| | | state.loading = true; |
| | | } |
| | | const OperateHistoryTableColumns = defineColumns([ |
| | | { id: '1', enCode: 'createdUser', name: '操作人' }, |
| | | { id: '2', enCode: 'createdTime', name: '操作时间', width: 180 }, |
| | | { id: '3', enCode: 'operate', name: '操作' }, |
| | | { id: '4', enCode: 'content', name: '操作内容' }, |
| | | ]); |
| | | |
| | | const { getList, proTableProps, state, OperateHistoryTableColumns } = useTableLogList({ |
| | | relationId: toRef(props, 'relationId'), |
| | | operateType: toRef(props, 'operateType'), |
| | | }); |
| | | function onDialogClose() {} |
| | | </script> |
| | |
| | | Wxmp = 20, |
| | | } |
| | | |
| | | /** 合同制版状态 */ |
| | | export enum EnumContractTemplateStatus { |
| | | /**待制版 */ |
| | | Wait = 10, |
| | | /**已完成 */ |
| | | Completed = 20, |
| | | } |
| | | |
| | | /** 合同模板变量 */ |
| | | export enum EnumContractTemplateValueRecorder { |
| | | /**发件人 */ |
| | | Creator = 10, |
| | | /**签署人 */ |
| | | Signer = 20, |
| | | } |
| | | |
| | | /** 合同模板变量类型 */ |
| | | export enum EnumContractTemplateValueType { |
| | | /**文本 */ |
| | | Text = 10, |
| | | /**签署 */ |
| | | Sign = 20, |
| | | /**日期 */ |
| | | Date = 30, |
| | | } |
| | | |
| | | /** 数据来源 */ |
| | | export enum EnumDataSource { |
| | | /**818 */ |
| | |
| | | Deleted = 30, |
| | | } |
| | | |
| | | /** 电子签 */ |
| | | export enum EnumElectronSignAccess { |
| | | /**上上签 */ |
| | | BestSign = 10, |
| | | /**支付宝信任签 */ |
| | | AlipaySign = 20, |
| | | } |
| | | |
| | | /** 企业实名方式 */ |
| | | export enum EnumEnterpriseRealMethod { |
| | | /**企业三要素 */ |
| | |
| | | [EnumRoleWebApiDataPower.Creator]: '个人数据', |
| | | [EnumRoleWebApiDataPower.All]: '全部数据', |
| | | }; |
| | | |
| | | export const EnumDbAuditOperateText = { |
| | | [EnumDbAuditOperate.Added]: '添加', |
| | | [EnumDbAuditOperate.Modified]: '修改', |
| | | [EnumDbAuditOperate.Deleted]: '删除', |
| | | }; |
New file |
| | |
| | | export const EnumContractTemplateStatusText = { |
| | | [EnumContractTemplateStatus.Wait]: '待制版', |
| | | [EnumContractTemplateStatus.Completed]: '已制版', |
| | | }; |
| | | |
| | | export const EnumContractTemplateStatusTextForEnterpriseFilter = { |
| | | [EnumContractTemplateStatus.Wait]: '待制版', |
| | | [EnumContractTemplateStatus.Completed]: '已制版', |
| | | }; |
| | | |
| | | export const EnumElectronSignAccessText = { |
| | | [EnumElectronSignAccess.BestSign]: '上上签', |
| | | [EnumElectronSignAccess.AlipaySign]: '支付宝信任签', |
| | | }; |
| | |
| | | export * from './dic'; |
| | | export * from './task'; |
| | | export * from './enterpriseEmployee'; |
| | | export * from './electronSign'; |
New file |
| | |
| | | import { useDialog, useTable, Service, Data, ExtraParams } from '@bole-core/components'; |
| | | |
| | | type UseOpenLogDialogOptions<TData extends Data, TExtraParams extends ExtraParams> = { |
| | | service: Service<TData, { id: string } & ExtraParams>; |
| | | }; |
| | | |
| | | export function useOpenLogDialog<TData extends Data, TExtraParams extends ExtraParams>({ |
| | | service, |
| | | }: UseOpenLogDialogOptions<TData, TExtraParams>) { |
| | | const relationId = ref(''); |
| | | |
| | | const { dialogProps, dialogState } = useDialog(); |
| | | |
| | | async function openLogDialog(_relationId: string) { |
| | | // relationId.value = _relationId; |
| | | extraParamState.id = _relationId; |
| | | await nextTick(); |
| | | dialogState.dialogVisible = true; |
| | | } |
| | | |
| | | const BaseState = { |
| | | loading: false, |
| | | }; |
| | | |
| | | const state = reactive({ ...BaseState }); |
| | | |
| | | const { |
| | | getDataSource: getList, |
| | | proTableProps, |
| | | extraParamState, |
| | | } = useTable(service, { |
| | | defaultExtraParams: { |
| | | orderInput: [{ property: 'createdTime', order: EnumPagedListOrder.Desc }], |
| | | id: '', |
| | | }, |
| | | columnsRenderProps: { |
| | | createdTime: { |
| | | type: 'date', |
| | | format: 'YYYY-MM-DD HH:mm:ss', |
| | | }, |
| | | content: { |
| | | formatter: (row) => (row.content ?? []).join(','), |
| | | }, |
| | | operate: { |
| | | type: 'enum', |
| | | valueEnum: EnumDbAuditOperateText, |
| | | }, |
| | | }, |
| | | }); |
| | | |
| | | const logDialogProps = computed(() => { |
| | | return { |
| | | ...dialogProps.value, |
| | | relationId: relationId.value, |
| | | getList: getList, |
| | | proTableProps: proTableProps.value, |
| | | }; |
| | | }); |
| | | return { |
| | | logDialogProps, |
| | | openLogDialog, |
| | | }; |
| | | } |
| | |
| | | }); |
| | | } |
| | | |
| | | /** 查询合同模板详情 GET /api/user/electronSign/getContractTemplate */ |
| | | export async function getContractTemplate( |
| | | // 叠加生成的Param类型 (非body参数swagger默认没有生成对象) |
| | | params: API.APIgetContractTemplateParams, |
| | | options?: API.RequestConfig |
| | | ) { |
| | | return request<API.GetContractTemplateQueryResult>('/api/user/electronSign/getContractTemplate', { |
| | | method: 'GET', |
| | | params: { |
| | | ...params, |
| | | }, |
| | | ...(options || {}), |
| | | }); |
| | | } |
| | | |
| | | /** 查询运营端协议管理分页列表数据 POST /api/user/electronSign/getContractTemplateEnterprises */ |
| | | export async function getContractTemplateEnterprises( |
| | | body: API.GetContractTemplateEnterprisesQuery, |
| | | options?: API.RequestConfig |
| | | ) { |
| | | return request<API.GetContractTemplateEnterprisesQueryResult>( |
| | | '/api/user/electronSign/getContractTemplateEnterprises', |
| | | { |
| | | method: 'POST', |
| | | headers: { |
| | | 'Content-Type': 'application/json-patch+json', |
| | | }, |
| | | data: body, |
| | | ...(options || {}), |
| | | } |
| | | ); |
| | | } |
| | | |
| | | /** 查询企业合同模板日志分页列表数据 POST /api/user/electronSign/getEnterpriseContractTemplateLogs */ |
| | | export async function getEnterpriseContractTemplateLogs( |
| | | body: API.GetEnterpriseContractTemplateLogsQuery, |
| | | options?: API.RequestConfig |
| | | ) { |
| | | return request<API.GetEnterpriseContractTemplateLogsQueryResult>( |
| | | '/api/user/electronSign/getEnterpriseContractTemplateLogs', |
| | | { |
| | | method: 'POST', |
| | | headers: { |
| | | 'Content-Type': 'application/json-patch+json', |
| | | }, |
| | | data: body, |
| | | ...(options || {}), |
| | | } |
| | | ); |
| | | } |
| | | |
| | | /** 查询企业合同模板分页列表数据 POST /api/user/electronSign/getEnterpriseContractTemplates */ |
| | | export async function getEnterpriseContractTemplates( |
| | | body: API.GetEnterpriseContractTemplatesQuery, |
| | | options?: API.RequestConfig |
| | | ) { |
| | | return request<API.GetEnterpriseContractTemplatesQueryResult>( |
| | | '/api/user/electronSign/getEnterpriseContractTemplates', |
| | | { |
| | | method: 'POST', |
| | | headers: { |
| | | 'Content-Type': 'application/json-patch+json', |
| | | }, |
| | | data: body, |
| | | ...(options || {}), |
| | | } |
| | | ); |
| | | } |
| | | |
| | | /** 个人人脸实名认证 POST /api/user/electronSign/personalUserFaceReal */ |
| | | export async function personalUserFaceReal( |
| | | body: API.PersonalUserFaceRealCommand, |
| | |
| | | }); |
| | | } |
| | | |
| | | /** 保存合同模板 POST /api/user/electronSign/saveContractTemplate */ |
| | | export async function saveContractTemplate( |
| | | body: API.SaveContractTemplateCommand, |
| | | options?: API.RequestConfig |
| | | ) { |
| | | return request<string>('/api/user/electronSign/saveContractTemplate', { |
| | | method: 'POST', |
| | | headers: { |
| | | 'Content-Type': 'application/json-patch+json', |
| | | }, |
| | | data: body, |
| | | ...(options || {}), |
| | | }); |
| | | } |
| | | |
| | | /** 发送个人三要素实名短信 POST /api/user/electronSign/sendPersonalUserIdentity3RealSms */ |
| | | export async function sendPersonalUserIdentity3RealSms( |
| | | body: API.SendPersonalUserIdentity3RealSmsCommand, |
| | |
| | | ...(options || {}), |
| | | }); |
| | | } |
| | | |
| | | /** 禁用合同模板 PUT /api/user/electronSign/setIsDisabledContractTemplate */ |
| | | export async function setIsDisabledContractTemplate( |
| | | body: API.SetIsDisabledContractTemplateCommand, |
| | | options?: API.RequestConfig |
| | | ) { |
| | | return request<number>('/api/user/electronSign/setIsDisabledContractTemplate', { |
| | | method: 'PUT', |
| | | headers: { |
| | | 'Content-Type': 'application/json-patch+json', |
| | | }, |
| | | data: body, |
| | | ...(options || {}), |
| | | }); |
| | | } |
| | |
| | | date?: string; |
| | | } |
| | | |
| | | interface APIgetContractTemplateParams { |
| | | /** 模板Id */ |
| | | id?: string; |
| | | } |
| | | |
| | | interface APIgetCurrentLogierMenuParams { |
| | | /** Id */ |
| | | id?: string; |
| | |
| | | Wxmp = 20, |
| | | } |
| | | |
| | | enum EnumContractTemplateStatus { |
| | | /**待制版 */ |
| | | Wait = 10, |
| | | /**已完成 */ |
| | | Completed = 20, |
| | | } |
| | | |
| | | enum EnumContractTemplateValueRecorder { |
| | | /**发件人 */ |
| | | Creator = 10, |
| | | /**签署人 */ |
| | | Signer = 20, |
| | | } |
| | | |
| | | enum EnumContractTemplateValueType { |
| | | /**文本 */ |
| | | Text = 10, |
| | | /**签署 */ |
| | | Sign = 20, |
| | | /**日期 */ |
| | | Date = 30, |
| | | } |
| | | |
| | | enum EnumDataSource { |
| | | /**818 */ |
| | | HumanResources = 10, |
| | |
| | | Modified = 20, |
| | | /**删除 */ |
| | | Deleted = 30, |
| | | } |
| | | |
| | | enum EnumElectronSignAccess { |
| | | /**上上签 */ |
| | | BestSign = 10, |
| | | /**支付宝信任签 */ |
| | | AlipaySign = 20, |
| | | } |
| | | |
| | | enum EnumEnterpriseRealMethod { |
| | |
| | | timestamp?: number; |
| | | } |
| | | |
| | | interface FriendlyResultGetContractTemplateEnterprisesQueryResult { |
| | | /** 跟踪Id */ |
| | | traceId?: string; |
| | | /** 状态码 */ |
| | | code?: number; |
| | | /** 错误码 */ |
| | | errorCode?: string; |
| | | data?: GetContractTemplateEnterprisesQueryResult; |
| | | /** 执行成功 */ |
| | | success?: boolean; |
| | | /** 错误信息 */ |
| | | msg?: any; |
| | | /** 附加数据 */ |
| | | extras?: any; |
| | | /** 时间戳 */ |
| | | timestamp?: number; |
| | | } |
| | | |
| | | interface FriendlyResultGetContractTemplateQueryResult { |
| | | /** 跟踪Id */ |
| | | traceId?: string; |
| | | /** 状态码 */ |
| | | code?: number; |
| | | /** 错误码 */ |
| | | errorCode?: string; |
| | | data?: GetContractTemplateQueryResult; |
| | | /** 执行成功 */ |
| | | success?: boolean; |
| | | /** 错误信息 */ |
| | | msg?: any; |
| | | /** 附加数据 */ |
| | | extras?: any; |
| | | /** 时间戳 */ |
| | | timestamp?: number; |
| | | } |
| | | |
| | | interface FriendlyResultGetDbAuditLogsQueryResult { |
| | | /** 跟踪Id */ |
| | | traceId?: string; |
| | |
| | | /** 错误码 */ |
| | | errorCode?: string; |
| | | data?: GetDbAuditLogsQueryResult; |
| | | /** 执行成功 */ |
| | | success?: boolean; |
| | | /** 错误信息 */ |
| | | msg?: any; |
| | | /** 附加数据 */ |
| | | extras?: any; |
| | | /** 时间戳 */ |
| | | timestamp?: number; |
| | | } |
| | | |
| | | interface FriendlyResultGetEnterpriseContractTemplateLogsQueryResult { |
| | | /** 跟踪Id */ |
| | | traceId?: string; |
| | | /** 状态码 */ |
| | | code?: number; |
| | | /** 错误码 */ |
| | | errorCode?: string; |
| | | data?: GetEnterpriseContractTemplateLogsQueryResult; |
| | | /** 执行成功 */ |
| | | success?: boolean; |
| | | /** 错误信息 */ |
| | | msg?: any; |
| | | /** 附加数据 */ |
| | | extras?: any; |
| | | /** 时间戳 */ |
| | | timestamp?: number; |
| | | } |
| | | |
| | | interface FriendlyResultGetEnterpriseContractTemplatesQueryResult { |
| | | /** 跟踪Id */ |
| | | traceId?: string; |
| | | /** 状态码 */ |
| | | code?: number; |
| | | /** 错误码 */ |
| | | errorCode?: string; |
| | | data?: GetEnterpriseContractTemplatesQueryResult; |
| | | /** 执行成功 */ |
| | | success?: boolean; |
| | | /** 错误信息 */ |
| | |
| | | addressName?: string; |
| | | } |
| | | |
| | | interface GetContractTemplateEnterprisesQuery { |
| | | /** 关键字 */ |
| | | keywords?: string; |
| | | status?: EnumContractTemplateStatus; |
| | | pageModel?: PagedListQueryPageModel; |
| | | } |
| | | |
| | | interface GetContractTemplateEnterprisesQueryResult { |
| | | pageModel?: PagedListQueryResultPageModel; |
| | | /** 数据 */ |
| | | data?: GetContractTemplateEnterprisesQueryResultItem[]; |
| | | } |
| | | |
| | | interface GetContractTemplateEnterprisesQueryResultItem { |
| | | /** 企业Id */ |
| | | id?: string; |
| | | /** 企业全称 */ |
| | | enterpriseName?: string; |
| | | /** 联系人 */ |
| | | contacts?: string; |
| | | /** 联系电话 */ |
| | | contactPhoneNumber?: string; |
| | | /** 合同数 */ |
| | | total?: number; |
| | | /** 待制版 */ |
| | | waitCount?: number; |
| | | } |
| | | |
| | | interface GetContractTemplateQueryResult { |
| | | /** 模板Id */ |
| | | id?: string; |
| | | /** 企业Id */ |
| | | enterpriseId?: string; |
| | | /** 模板名称 */ |
| | | name?: string; |
| | | /** 模板 */ |
| | | file?: string; |
| | | /** 业务编码 */ |
| | | code?: string; |
| | | access?: EnumElectronSignAccess; |
| | | /** 模板Id */ |
| | | templateId?: string; |
| | | /** 变量 */ |
| | | values?: GetContractTemplateQueryResultValue[]; |
| | | } |
| | | |
| | | interface GetContractTemplateQueryResultValue { |
| | | /** 变量Id */ |
| | | id?: string; |
| | | type?: EnumContractTemplateValueType; |
| | | recorder?: EnumContractTemplateValueRecorder; |
| | | userType?: EnumUserType; |
| | | /** 变量名称 */ |
| | | label?: string; |
| | | /** 变量代码 */ |
| | | name?: string; |
| | | /** 是否必填 */ |
| | | required?: boolean; |
| | | } |
| | | |
| | | type GetCurrentLogierMenusQuery = Record<string, any>; |
| | | |
| | | interface GetDbAuditLogsQuery { |
| | |
| | | sort?: number; |
| | | /** 是否禁用 */ |
| | | isDisabled?: boolean; |
| | | } |
| | | |
| | | interface GetEnterpriseContractTemplateLogsQuery { |
| | | /** 模板Id */ |
| | | id?: string; |
| | | pageModel?: PagedListQueryPageModel; |
| | | } |
| | | |
| | | interface GetEnterpriseContractTemplateLogsQueryResult { |
| | | pageModel?: PagedListQueryResultPageModel; |
| | | /** 数据 */ |
| | | data?: GetEnterpriseContractTemplateLogsQueryResultItem[]; |
| | | } |
| | | |
| | | interface GetEnterpriseContractTemplateLogsQueryResultItem { |
| | | /** 跟踪Id */ |
| | | traceId?: string; |
| | | /** 操作人 */ |
| | | createdUser?: string; |
| | | /** 操作时间 */ |
| | | createdTime?: string; |
| | | operate?: EnumDbAuditOperate; |
| | | /** 操作内容 */ |
| | | content?: string[]; |
| | | } |
| | | |
| | | interface GetEnterpriseContractTemplatesQuery { |
| | | /** 企业Id */ |
| | | enterpriseId?: string; |
| | | /** 关键字 */ |
| | | keywords?: string; |
| | | status?: EnumContractTemplateStatus; |
| | | /** 客户上传时间-起始 */ |
| | | createdTimeBegin?: string; |
| | | /** 客户上传时间-截止 */ |
| | | createdTimeEnd?: string; |
| | | /** 制版时间-起始 */ |
| | | completedTimeBegin?: string; |
| | | /** 制版时间-截止 */ |
| | | completedTimeEnd?: string; |
| | | pageModel?: PagedListQueryPageModel; |
| | | } |
| | | |
| | | interface GetEnterpriseContractTemplatesQueryResult { |
| | | pageModel?: PagedListQueryResultPageModel; |
| | | /** 数据 */ |
| | | data?: GetEnterpriseContractTemplatesQueryResultItem[]; |
| | | } |
| | | |
| | | interface GetEnterpriseContractTemplatesQueryResultItem { |
| | | /** 模板Id */ |
| | | id?: string; |
| | | /** 模板名称 */ |
| | | name?: string; |
| | | /** 客户上传时间 */ |
| | | createdTime?: string; |
| | | /** 模板Id */ |
| | | templateId?: string; |
| | | access?: EnumElectronSignAccess; |
| | | /** 业务编码 */ |
| | | code?: string; |
| | | /** 模板 */ |
| | | file?: string; |
| | | status?: EnumContractTemplateStatus; |
| | | /** 制版时间 */ |
| | | completedTime?: string; |
| | | /** 操作人 */ |
| | | operator?: string; |
| | | } |
| | | |
| | | interface GetEnterpriseElectronSignSettingQueryResult { |
| | |
| | | id?: string; |
| | | } |
| | | |
| | | interface SaveContractTemplateCommand { |
| | | /** 企业Id(运营端保存时) */ |
| | | enterpriseId?: string; |
| | | /** 模板名称 */ |
| | | name: string; |
| | | /** 模板 */ |
| | | file: string; |
| | | /** 业务编码 */ |
| | | code?: string; |
| | | access?: EnumElectronSignAccess; |
| | | /** 模板Id */ |
| | | templateId?: string; |
| | | /** 变量 */ |
| | | values?: SaveContractTemplateCommandValue[]; |
| | | /** Id */ |
| | | id?: string; |
| | | } |
| | | |
| | | interface SaveContractTemplateCommandValue { |
| | | /** Id */ |
| | | id?: string; |
| | | type?: EnumContractTemplateValueType; |
| | | recorder?: EnumContractTemplateValueRecorder; |
| | | userType?: EnumUserType; |
| | | /** 变量名称 */ |
| | | label?: string; |
| | | /** 变量代码 */ |
| | | name?: string; |
| | | /** 是否必填 */ |
| | | required?: boolean; |
| | | } |
| | | |
| | | interface SaveDictionaryCategoryCommand { |
| | | /** 编号 */ |
| | | code: string; |
| | |
| | | smsCost?: number; |
| | | } |
| | | |
| | | interface SetIsDisabledContractTemplateCommand { |
| | | ids?: string[]; |
| | | /** 是否已禁用 */ |
| | | isDisabled?: boolean; |
| | | } |
| | | |
| | | interface SetMenuSwitchCommand { |
| | | /** Id */ |
| | | ids?: string[]; |
| | |
| | | <QueryFilterItem> |
| | | <FieldRadio |
| | | v-model="extraParamState.status" |
| | | :value-enum="[ |
| | | { value: 1, label: '待制版' }, |
| | | { value: 2, label: '已完成' }, |
| | | ]" |
| | | :value-enum="EnumContractTemplateStatusText" |
| | | buttonStyle |
| | | showAllBtn |
| | | @change="getList()" |
| | |
| | | </QueryFilterItem> |
| | | <QueryFilterItem tip-content="客户上传时间"> |
| | | <FieldDatePicker |
| | | v-model="extraParamState.beginDate" |
| | | v-model="extraParamState.createdTime" |
| | | type="daterange" |
| | | range-separator="~" |
| | | start-placeholder="开始日期" |
| | |
| | | </QueryFilterItem> |
| | | <QueryFilterItem tip-content="制版时间"> |
| | | <FieldDatePicker |
| | | v-model="extraParamState.beginDate" |
| | | v-model="extraParamState.completedTime" |
| | | type="daterange" |
| | | range-separator="~" |
| | | start-placeholder="开始日期" |
| | |
| | | </ProTableV2> |
| | | </AppContainer> |
| | | <AddOrEditTemplateDialog v-bind="dialogProps" /> |
| | | <OperateHistoryLogDialog v-bind="logDialogProps" /> |
| | | </LoadingLayout> |
| | | </template> |
| | | |
| | |
| | | } from '@bole-core/components'; |
| | | import { useAccess } from '@/hooks'; |
| | | import { ModelValueType } from 'element-plus'; |
| | | import * as enterpriseServices from '@/services/api/enterprise'; |
| | | import * as electronSignServices from '@/services/api/electronSign'; |
| | | import AddOrEditTemplateDialog from './components/AddOrEditTemplateDialog.vue'; |
| | | import { Message } from '@bole-core/core'; |
| | | import { downloadFileByUrl, Message } from '@bole-core/core'; |
| | | import { convertApi2FormUrlOnlyOne, format, setOSSLink } from '@/utils'; |
| | | import { EnumContractTemplateStatus, EnumContractTemplateStatusText } from '@/constants'; |
| | | |
| | | defineOptions({ |
| | | name: 'EditTemplate', |
| | |
| | | }, |
| | | delBtn: { |
| | | emits: { onClick: (role) => handleDelete(role) }, |
| | | props: { type: 'danger' }, |
| | | extraProps: { |
| | | hide: (row) => false, |
| | | }, |
| | | }, |
| | | |
| | | logBtn: { |
| | | emits: { onClick: (role) => openLogDialog(role) }, |
| | | emits: { onClick: (role) => openLogDialog(role.id) }, |
| | | }, |
| | | }; |
| | | |
| | |
| | | operationBtnMap, |
| | | }); |
| | | |
| | | const router = useRouter(); |
| | | const route = useRoute(); |
| | | const enterpriseId = route.params?.id as string; |
| | | const BaseState = { |
| | | loading: true, |
| | | }; |
| | |
| | | } = useTable( |
| | | async ({ pageIndex, pageSize }, extraParamState) => { |
| | | try { |
| | | let params: API.GetEnterprisesQuery = { |
| | | let params: API.GetEnterpriseContractTemplatesQuery = { |
| | | pageModel: { |
| | | rows: pageSize, |
| | | page: pageIndex, |
| | | orderInput: extraParamState.orderInput, |
| | | }, |
| | | // searchKeys: extraParamState.keyword, |
| | | keywords: extraParamState.keyword, |
| | | status: extraParamState.status, |
| | | createdTimeBegin: format(extraParamState.createdTime?.[0] ?? '', 'YYYY-MM-DD 00:00:00'), |
| | | createdTimeEnd: format(extraParamState.createdTime?.[1] ?? '', 'YYYY-MM-DD 23:59:59'), |
| | | completedTimeBegin: format(extraParamState.completedTime?.[0] ?? '', 'YYYY-MM-DD 00:00:00'), |
| | | completedTimeEnd: format(extraParamState.completedTime?.[1] ?? '', 'YYYY-MM-DD 23:59:59'), |
| | | enterpriseId: enterpriseId, |
| | | }; |
| | | let res = await enterpriseServices.getEnterprises(params, { |
| | | let res = await electronSignServices.getEnterpriseContractTemplates(params, { |
| | | showLoading: !state.loading, |
| | | }); |
| | | return res; |
| | |
| | | { |
| | | defaultExtraParams: { |
| | | keyword: '', |
| | | status: '' as any as boolean, |
| | | beginDate: [] as unknown as ModelValueType, |
| | | endDate: [] as unknown as ModelValueType, |
| | | orderInput: [{ property: 'id', order: EnumPagedListOrder.Asc }], |
| | | status: '' as any as EnumContractTemplateStatus, |
| | | createdTime: [] as unknown as ModelValueType, |
| | | completedTime: [] as unknown as ModelValueType, |
| | | orderInput: [{ property: 'createdTime', order: EnumPagedListOrder.Desc }], |
| | | }, |
| | | columnsRenderProps: {}, |
| | | columnsRenderProps: { |
| | | createdTime: { type: 'date' }, |
| | | completedTime: { type: 'date' }, |
| | | status: { type: 'enum', valueEnum: EnumContractTemplateStatusText }, |
| | | access: { type: 'enum', valueEnum: EnumElectronSignAccessText }, |
| | | file: { |
| | | type: 'url', |
| | | showDownloadBtn: false, |
| | | formatter: (row: API.GetEnterpriseContractTemplatesQueryResultItem) => setOSSLink(row.file), |
| | | }, |
| | | }, |
| | | } |
| | | ); |
| | | |
| | |
| | | id: '', |
| | | templateId: '', |
| | | name: '', |
| | | bussinessCode: '', |
| | | templateFileUrl: [] as UploadUserFile[], |
| | | code: '', |
| | | file: [] as UploadUserFile[], |
| | | access: '' as any as EnumElectronSignAccess, |
| | | title: '新增模板', |
| | | }, |
| | | }); |
| | | |
| | | function openDialog(row?) { |
| | | function openDialog(row?: API.GetEnterpriseContractTemplatesQueryResultItem) { |
| | | if (row) { |
| | | handleEdit({ |
| | | id: '', |
| | | name: '', |
| | | bussinessCode: '', |
| | | templateId: '', |
| | | templateFileUrl: [] as UploadUserFile[], |
| | | id: row.id, |
| | | templateId: row.templateId, |
| | | name: row.name, |
| | | code: row.code, |
| | | file: convertApi2FormUrlOnlyOne(row.file), |
| | | access: row.access, |
| | | }); |
| | | } else { |
| | | handleAdd(); |
| | | } |
| | | } |
| | | |
| | | async function handleAddOrEdit() {} |
| | | |
| | | function handleDownload(row) {} |
| | | async function handleDelete(row) { |
| | | async function handleAddOrEdit() { |
| | | try { |
| | | await Message.deleteMessage(); |
| | | let isEdit = !!editForm.id; |
| | | let params: API.SaveContractTemplateCommand = { |
| | | name: editForm.name, |
| | | file: editForm.file[0]?.path ?? '', |
| | | enterpriseId: enterpriseId, |
| | | code: editForm.code, |
| | | access: editForm.access, |
| | | templateId: editForm.templateId, |
| | | // values: [ |
| | | // { |
| | | // id: '3fa85f64-5717-4562-b3fc-2c963f66afa6', |
| | | // type: 10, |
| | | // recorder: 10, |
| | | // userType: 10, |
| | | // label: 'string', |
| | | // name: 'string', |
| | | // required: true, |
| | | // }, |
| | | // ], |
| | | }; |
| | | if (isEdit) { |
| | | params.id = editForm.id; |
| | | } |
| | | let res = await electronSignServices.saveContractTemplate(params); |
| | | if (res) { |
| | | Message.successMessage('操作成功'); |
| | | getList(); |
| | | } |
| | | } catch (error) {} |
| | | } |
| | | |
| | | function openLogDialog(row) {} |
| | | function handleDownload(row: API.GetEnterpriseContractTemplatesQueryResultItem) { |
| | | downloadFileByUrl(setOSSLink(row.file), '模板'); |
| | | } |
| | | async function handleDelete(row: API.GetEnterpriseContractTemplatesQueryResultItem) { |
| | | try { |
| | | await Message.deleteMessage(); |
| | | let res = await electronSignServices.setIsDisabledContractTemplate({ |
| | | ids: [row.id], |
| | | isDisabled: true, |
| | | }); |
| | | if (res) { |
| | | Message.successMessage('操作成功'); |
| | | getList(paginationState.pageIndex); |
| | | } |
| | | } catch (error) {} |
| | | } |
| | | |
| | | const { openLogDialog, logDialogProps } = useOpenLogDialog({ |
| | | service: async ({ pageIndex, pageSize }, extraParamState) => { |
| | | try { |
| | | let params: API.GetEnterpriseContractTemplateLogsQuery = { |
| | | pageModel: { |
| | | rows: pageSize, |
| | | page: pageIndex, |
| | | orderInput: extraParamState.orderInput, |
| | | }, |
| | | id: extraParamState.id, |
| | | }; |
| | | let res = await electronSignServices.getEnterpriseContractTemplateLogs(params, { |
| | | showLoading: !state.loading, |
| | | }); |
| | | return res; |
| | | } catch (error) {} |
| | | }, |
| | | }); |
| | | </script> |
| | |
| | | <QueryFilterItem> |
| | | <FieldRadio |
| | | v-model="extraParamState.status" |
| | | :value-enum="[{ value: 1, label: '待制版' }]" |
| | | :value-enum="EnumContractTemplateStatusTextForEnterpriseFilter" |
| | | buttonStyle |
| | | showAllBtn |
| | | @change="getList()" |
| | |
| | | FieldRadio, |
| | | } from '@bole-core/components'; |
| | | import { useAccess } from '@/hooks'; |
| | | import * as enterpriseServices from '@/services/api/enterprise'; |
| | | import * as electronSignServices from '@/services/api/electronSign'; |
| | | import { EnumContractTemplateStatusTextForEnterpriseFilter } from '@/constants'; |
| | | |
| | | defineOptions({ |
| | | name: 'ProtocolManageList', |
| | |
| | | } = useTable( |
| | | async ({ pageIndex, pageSize }, extraParamState) => { |
| | | try { |
| | | let params: API.GetEnterprisesQuery = { |
| | | let params: API.GetContractTemplateEnterprisesQuery = { |
| | | pageModel: { |
| | | rows: pageSize, |
| | | page: pageIndex, |
| | | orderInput: extraParamState.orderInput, |
| | | // orderInput: extraParamState.orderInput, |
| | | }, |
| | | // searchKeys: extraParamState.keyword, |
| | | keywords: extraParamState.keyword, |
| | | status: extraParamState.status, |
| | | }; |
| | | let res = await enterpriseServices.getEnterprises(params, { |
| | | let res = await electronSignServices.getContractTemplateEnterprises(params, { |
| | | showLoading: !state.loading, |
| | | }); |
| | | return res; |
| | |
| | | { |
| | | defaultExtraParams: { |
| | | keyword: '', |
| | | status: '', |
| | | status: '' as any as EnumContractTemplateStatus, |
| | | orderInput: [{ property: 'id', order: EnumPagedListOrder.Asc }], |
| | | }, |
| | | columnsRenderProps: {}, |
| | | } |
| | | ); |
| | | |
| | | function goEdit(row) { |
| | | function goEdit(row: API.GetContractTemplateEnterprisesQueryResultItem) { |
| | | router.push({ |
| | | name: 'EditTemplate', |
| | | params: { |
| | |
| | | :formatter="filterCN" |
| | | ></ProFormText> |
| | | </ProFormItemV2> |
| | | <ProFormItemV2 |
| | | label="通道:" |
| | | prop="templateId" |
| | | :check-rules="[{ message: '请选择电子签通道' }]" |
| | | > |
| | | <ProFormItemV2 label="通道:" prop="access" :check-rules="[{ message: '请选择电子签通道' }]"> |
| | | <ProFormSelect |
| | | placeholder="请选择电子签通道" |
| | | v-model="form.templateId" |
| | | :value-enum="[{ label: 1, value: '支付宝' }]" |
| | | v-model="form.access" |
| | | :value-enum="EnumElectronSignAccessText" |
| | | ></ProFormSelect> |
| | | </ProFormItemV2> |
| | | <ProFormItemV2 |
| | | label="业务编码:" |
| | | prop="bussinessCode" |
| | | :check-rules="[{ message: '请输入业务编码' }]" |
| | | > |
| | | <ProFormItemV2 label="业务编码:" prop="code" :check-rules="[{ message: '请输入业务编码' }]"> |
| | | <ProFormText |
| | | placeholder="请输入业务编码" |
| | | v-model.trim="form.bussinessCode" |
| | | v-model.trim="form.code" |
| | | :maxlength="5" |
| | | :formatter="filterNumbersFromString" |
| | | ></ProFormText> |
| | |
| | | </ProFormItemV2> |
| | | <ProFormItemV2 |
| | | label="上传模板:" |
| | | prop="templateFileUrl" |
| | | prop="file" |
| | | :check-rules="[{ message: '请上传模板', type: 'upload' }]" |
| | | > |
| | | <ProFormUpload |
| | | v-model:file-url="form.templateFileUrl" |
| | | v-model:file-url="form.file" |
| | | :limit="1" |
| | | :limitFileSize="10" |
| | | accept="pdf" |
| | |
| | | } from '@bole-core/components'; |
| | | import { filterCN, filterNumbersFromString } from '@/utils'; |
| | | import { FormInstance } from 'element-plus'; |
| | | import { EnumElectronSignAccessText } from '@/constants'; |
| | | |
| | | defineOptions({ |
| | | name: 'AddOrEditTemplateDialog', |
| | |
| | | id: string; |
| | | templateId: string; |
| | | name: string; |
| | | bussinessCode: string; |
| | | templateFileUrl: UploadUserFile[]; |
| | | code: string; |
| | | file: UploadUserFile[]; |
| | | access: EnumElectronSignAccess; |
| | | }; |
| | | |
| | | const form = defineModel<Form>('form'); |