| | |
| | | /** |
| | | * @description 网页title |
| | | */ |
| | | title: '乐遇保云服务', |
| | | title: '灵工平台', |
| | | |
| | | errorLog: 'production', |
| | | |
| | | loginFormTitle: '乐遇保云服务后台管理系统', |
| | | loginFormTitle: '灵工平台后台管理系统', |
| | | }); |
| | | |
| | | type AppType = 'one' | 'rz' | 'jx'; |
| | | |
| | | const AppSettingMap = { |
| | | one: { |
| | | title: '乐遇保云服务', |
| | | loginFormTitle: '乐遇保云服务', |
| | | MenuTitle: '乐遇保云服务', |
| | | title: '灵工平台', |
| | | loginFormTitle: '灵工平台', |
| | | MenuTitle: '灵工平台', |
| | | }, |
| | | jx: { |
| | | title: '江西保险理赔后台管理系统', |
New file |
| | |
| | | export enum EnterpriseConfigureType { |
| | | /** |
| | | * 银行信息配置 |
| | | */ |
| | | Bank = 1, |
| | | /** |
| | | * 电子签配置 |
| | | */ |
| | | Electronic = 2, |
| | | /** |
| | | * 短信通道配置 |
| | | */ |
| | | ShortMessage = 3, |
| | | } |
| | | |
| | | export const EnterpriseConfigureTypeText = { |
| | | [EnterpriseConfigureType.Bank]: '银行信息配置', |
| | | [EnterpriseConfigureType.Electronic]: '电子签配置', |
| | | [EnterpriseConfigureType.ShortMessage]: '短信通道配置', |
| | | }; |
| | | |
| | | export enum FlexEnterpriseSettingStatus { |
| | | /** |
| | | * 未配置 |
| | | */ |
| | | NotSetting = -10, |
| | | /** |
| | | * 已配置 |
| | | */ |
| | | IsSetting = 10, |
| | | } |
| | | |
| | | export const FlexEnterpriseSettingStatusText = { |
| | | [FlexEnterpriseSettingStatus.NotSetting]: '未配置', |
| | | [FlexEnterpriseSettingStatus.IsSetting]: '已配置', |
| | | }; |
| | | |
| | | export enum FlexEnterpriseStatus { |
| | | /** |
| | | * 冻结 |
| | | */ |
| | | Frozen = -10, |
| | | /** |
| | | * 正常 |
| | | */ |
| | | Normal = 10, |
| | | } |
| | | |
| | | export const FlexEnterpriseStatusText = { |
| | | [FlexEnterpriseStatus.Frozen]: '冻结', |
| | | [FlexEnterpriseStatus.Normal]: '正常', |
| | | }; |
| | | |
| | | export enum VerifyStatus { |
| | | /** |
| | | * 未验证 |
| | | */ |
| | | NotVerify = -10, |
| | | /** |
| | | * 已验证 |
| | | */ |
| | | Verify = 10, |
| | | } |
| | | |
| | | export const VerifyStatusText = { |
| | | [VerifyStatus.NotVerify]: '未验证', |
| | | [VerifyStatus.Verify]: '已验证', |
| | | }; |
| | | export const VerifyStatusColor = { |
| | | [VerifyStatus.NotVerify]: 'danger', |
| | | [VerifyStatus.Verify]: 'success', |
| | | }; |
| | | |
| | | export enum FlexEnterpriseCertificationStatus { |
| | | /** |
| | | * 未认证 |
| | | */ |
| | | NotCertification = -10, |
| | | /** |
| | | * 已认证 |
| | | */ |
| | | HasCertification = 10, |
| | | } |
| | | |
| | | export const FlexEnterpriseCertificationStatusText = { |
| | | [FlexEnterpriseCertificationStatus.NotCertification]: '未认证', |
| | | [FlexEnterpriseCertificationStatus.HasCertification]: '已认证', |
| | | }; |
| | | |
| | | export enum MessageChannelEnum { |
| | | /** |
| | | * 阿里云 |
| | | */ |
| | | Alipay = 10, |
| | | /** |
| | | * 网易 |
| | | */ |
| | | NetEasy = 20, |
| | | } |
| | | |
| | | export const MessageChannelEnumText = { |
| | | [MessageChannelEnum.Alipay]: '阿里云', |
| | | [MessageChannelEnum.NetEasy]: '网易', |
| | | }; |
| | | |
| | | export enum SignChannelEnum { |
| | | /** |
| | | * 上上签 |
| | | */ |
| | | BestSign = 10, |
| | | /** |
| | | * 支付宝电子签 |
| | | */ |
| | | Alipay = 20, |
| | | } |
| | | |
| | | export const SignChannelEnumText = { |
| | | [SignChannelEnum.BestSign]: '上上签', |
| | | [SignChannelEnum.Alipay]: '支付宝电子签', |
| | | }; |
| | | |
| | | export enum ChargeTypeEnum { |
| | | /** |
| | | * 组合计费 |
| | | */ |
| | | Group = 1, |
| | | /** |
| | | * 一口价 |
| | | */ |
| | | Merge, |
| | | } |
| | | |
| | | export const ChargeTypeEnumText = { |
| | | [ChargeTypeEnum.Group]: '组合计费', |
| | | [ChargeTypeEnum.Merge]: '一口价', |
| | | }; |
| | |
| | | export * from './role'; |
| | | export * from './app'; |
| | | export * from './dic'; |
| | | export * from './enterprise'; |
New file |
| | |
| | | /* eslint-disable */ |
| | | // @ts-ignore |
| | | import { request } from '@/utils/request'; |
| | | |
| | | /** C端人员管理列表 POST /api/FlexEnterpriseWoker/GetUserClientList */ |
| | | export async function getUserClientList( |
| | | body: API.GetUserClientForBackInput, |
| | | options?: API.RequestConfig |
| | | ) { |
| | | return request<API.GetUserClientForBackOutputPageOutput>( |
| | | '/api/FlexEnterpriseWoker/GetUserClientList', |
| | | { |
| | | method: 'POST', |
| | | headers: { |
| | | 'Content-Type': 'application/json', |
| | | }, |
| | | data: body, |
| | | ...(options || {}), |
| | | } |
| | | ); |
| | | } |
| | | |
| | | /** C端人员管理--签约详情 POST /api/FlexEnterpriseWoker/GetUserClientSignList */ |
| | | export async function getUserClientSignList( |
| | | body: API.GetUserClientSignListInput, |
| | | options?: API.RequestConfig |
| | | ) { |
| | | return request<API.UserClientSignListOutputPageOutput>( |
| | | '/api/FlexEnterpriseWoker/GetUserClientSignList', |
| | | { |
| | | method: 'POST', |
| | | headers: { |
| | | 'Content-Type': 'application/json', |
| | | }, |
| | | data: body, |
| | | ...(options || {}), |
| | | } |
| | | ); |
| | | } |
| | | |
| | | /** C端人员管理--获取人员详情 GET /api/FlexEnterpriseWoker/GetUserDetailForBack */ |
| | | export async function getUserDetailForBack( |
| | | // 叠加生成的Param类型 (非body参数swagger默认没有生成对象) |
| | | params: API.APIgetUserDetailForBackParams, |
| | | options?: API.RequestConfig |
| | | ) { |
| | | return request<API.GetUserDetailForBackOutput>('/api/FlexEnterpriseWoker/GetUserDetailForBack', { |
| | | method: 'GET', |
| | | params: { |
| | | ...params, |
| | | }, |
| | | ...(options || {}), |
| | | }); |
| | | } |
New file |
| | |
| | | /* eslint-disable */ |
| | | // @ts-ignore |
| | | import { request } from '@/utils/request'; |
| | | |
| | | /** 获取个人信息详情 GET /api/User/GetUserInfo */ |
| | | export async function getUserInfo(options?: API.RequestConfig) { |
| | | return request<API.UserDto>('/api/User/GetUserInfo', { |
| | | method: 'GET', |
| | | ...(options || {}), |
| | | }); |
| | | } |
| | |
| | | // @ts-ignore |
| | | import { request } from '@/utils/request'; |
| | | |
| | | /** 此处后端没有提供注释 GET /api/UserResume/GetUserResume */ |
| | | /** 根据用户获取期待的工作 GET /api/UserResume/GetResumeExpectationJob */ |
| | | export async function getResumeExpectationJob(options?: API.RequestConfig) { |
| | | return request<API.UserResumeExpectationJobOutput>('/api/UserResume/GetResumeExpectationJob', { |
| | | method: 'GET', |
| | | ...(options || {}), |
| | | }); |
| | | } |
| | | |
| | | /** 根据用户获取简历 GET /api/UserResume/GetUserResume */ |
| | | export async function getUserResume(options?: API.RequestConfig) { |
| | | return request<API.MyResumeOutput>('/api/UserResume/GetUserResume', { |
| | | method: 'GET', |
| | |
| | | }); |
| | | } |
| | | |
| | | /** 此处后端没有提供注释 GET /api/UserResume/GetUserResumeCertificateDetailById */ |
| | | /** 根据用户获取简历基础信息 GET /api/UserResume/GetUserResumeBaseInfo */ |
| | | export async function getUserResumeBaseInfo(options?: API.RequestConfig) { |
| | | return request<API.UserResumeBaseInfoOutput>('/api/UserResume/GetUserResumeBaseInfo', { |
| | | method: 'GET', |
| | | ...(options || {}), |
| | | }); |
| | | } |
| | | |
| | | /** 根据认证id获取认证详情 GET /api/UserResume/GetUserResumeCertificateDetailById */ |
| | | export async function getUserResumeCertificateDetailById( |
| | | // 叠加生成的Param类型 (非body参数swagger默认没有生成对象) |
| | | params: API.APIgetUserResumeCertificateDetailByIdParams, |
| | |
| | | ); |
| | | } |
| | | |
| | | /** 此处后端没有提供注释 GET /api/UserResume/GetUserResumeCertificateList */ |
| | | /** 根据用户ID获取用户认证信息 GET /api/UserResume/GetUserResumeCertificateList */ |
| | | export async function getUserResumeCertificateList(options?: API.RequestConfig) { |
| | | return request<API.UserResumeCertificateListOutput[]>( |
| | | '/api/UserResume/GetUserResumeCertificateList', |
| | |
| | | ); |
| | | } |
| | | |
| | | /** 此处后端没有提供注释 GET /api/UserResume/GetUserResumeDetailInfo */ |
| | | /** 获取用户简历详情 GET /api/UserResume/GetUserResumeDetailInfo */ |
| | | export async function getUserResumeDetailInfo(options?: API.RequestConfig) { |
| | | return request<API.UserResumeDetailInfoOutput>('/api/UserResume/GetUserResumeDetailInfo', { |
| | | method: 'GET', |
| | |
| | | }); |
| | | } |
| | | |
| | | /** 此处后端没有提供注释 GET /api/UserResume/GetUserResumeWorkExperience */ |
| | | /** 根据用户id获取用户工作经历 GET /api/UserResume/GetUserResumeWorkExperience */ |
| | | export async function getUserResumeWorkExperience(options?: API.RequestConfig) { |
| | | return request<API.UserResumeWorkExperienceOutput>( |
| | | '/api/UserResume/GetUserResumeWorkExperience', |
| | |
| | | ); |
| | | } |
| | | |
| | | /** 此处后端没有提供注释 POST /api/UserResume/SaveUserResumeBaseInfo */ |
| | | /** 保存简历的基础信息 POST /api/UserResume/SaveUserResumeBaseInfo */ |
| | | export async function saveUserResumeBaseInfo( |
| | | body: API.SaveUserResumeBaseInfoInput, |
| | | options?: API.RequestConfig |
| | | ) { |
| | | return request<any>('/api/UserResume/SaveUserResumeBaseInfo', { |
| | | return request<number>('/api/UserResume/SaveUserResumeBaseInfo', { |
| | | method: 'POST', |
| | | headers: { |
| | | 'Content-Type': 'application/json', |
| | |
| | | }); |
| | | } |
| | | |
| | | /** 此处后端没有提供注释 POST /api/UserResume/SaveUserResumeCertificate */ |
| | | /** 保存用户的简历认证信息 POST /api/UserResume/SaveUserResumeCertificate */ |
| | | export async function saveUserResumeCertificate( |
| | | body: API.SaveUserResumeCertificateInput, |
| | | options?: API.RequestConfig |
| | | ) { |
| | | return request<any>('/api/UserResume/SaveUserResumeCertificate', { |
| | | return request<number>('/api/UserResume/SaveUserResumeCertificate', { |
| | | method: 'POST', |
| | | headers: { |
| | | 'Content-Type': 'application/json', |
| | |
| | | }); |
| | | } |
| | | |
| | | /** 此处后端没有提供注释 POST /api/UserResume/SaveUserResumeDetailInfo */ |
| | | /** 保存简历详情 POST /api/UserResume/SaveUserResumeDetailInfo */ |
| | | export async function saveUserResumeDetailInfo( |
| | | body: API.SaveUserResumeDetailInfoInput, |
| | | options?: API.RequestConfig |
| | | ) { |
| | | return request<any>('/api/UserResume/SaveUserResumeDetailInfo', { |
| | | return request<number>('/api/UserResume/SaveUserResumeDetailInfo', { |
| | | method: 'POST', |
| | | headers: { |
| | | 'Content-Type': 'application/json', |
| | |
| | | }); |
| | | } |
| | | |
| | | /** 此处后端没有提供注释 POST /api/UserResume/SaveUserResumeExpectationJob */ |
| | | /** 保存用户期望的岗位信息 POST /api/UserResume/SaveUserResumeExpectationJob */ |
| | | export async function saveUserResumeExpectationJob( |
| | | body: API.SaveUserResumeExpectationJobInput, |
| | | options?: API.RequestConfig |
| | | ) { |
| | | return request<any>('/api/UserResume/SaveUserResumeExpectationJob', { |
| | | return request<number>('/api/UserResume/SaveUserResumeExpectationJob', { |
| | | method: 'POST', |
| | | headers: { |
| | | 'Content-Type': 'application/json', |
| | |
| | | }); |
| | | } |
| | | |
| | | /** 此处后端没有提供注释 POST /api/UserResume/SaveUserResumeWorkExperience */ |
| | | /** 保存用户工作经历 POST /api/UserResume/SaveUserResumeWorkExperience */ |
| | | export async function saveUserResumeWorkExperience( |
| | | body: API.SaveUserResumeWorkExperienceInput, |
| | | options?: API.RequestConfig |
| | | ) { |
| | | return request<any>('/api/UserResume/SaveUserResumeWorkExperience', { |
| | | return request<number>('/api/UserResume/SaveUserResumeWorkExperience', { |
| | | method: 'POST', |
| | | headers: { |
| | | 'Content-Type': 'application/json', |
| | |
| | | import * as Common from './Common'; |
| | | import * as Features from './Features'; |
| | | import * as FlexEnterprise from './FlexEnterprise'; |
| | | import * as FlexEnterpriseWoker from './FlexEnterpriseWoker'; |
| | | import * as FlexTask from './FlexTask'; |
| | | import * as FlexWorker from './FlexWorker'; |
| | | import * as IdentityRole from './IdentityRole'; |
| | |
| | | import * as Profile from './Profile'; |
| | | import * as SearchSetting from './SearchSetting'; |
| | | import * as Tenant from './Tenant'; |
| | | import * as User from './User'; |
| | | import * as UserResume from './UserResume'; |
| | | import * as Version from './Version'; |
| | | export default { |
| | |
| | | Common, |
| | | Features, |
| | | FlexEnterprise, |
| | | FlexEnterpriseWoker, |
| | | FlexTask, |
| | | FlexWorker, |
| | | IdentityRole, |
| | |
| | | Profile, |
| | | SearchSetting, |
| | | Tenant, |
| | | User, |
| | | UserResume, |
| | | Version, |
| | | }; |
| | |
| | | id: string; |
| | | } |
| | | |
| | | interface APIgetUserDetailForBackParams { |
| | | userId?: string; |
| | | } |
| | | |
| | | interface APIgetUserListByPhoneNumberParams { |
| | | phoneNumber?: string; |
| | | clientId?: string; |
| | |
| | | id?: string; |
| | | aideType?: FlexTaskAideEnum; |
| | | name?: string; |
| | | imageUrl?: string; |
| | | } |
| | | |
| | | type FlexTaskAideEnum = 10 | 20; |
| | |
| | | |
| | | type FlexTaskSettleTypeEnum = 10 | 20 | 30; |
| | | |
| | | type FlexTaskWorkerHireEnum = 10 | 20 | 30; |
| | | type FlexTaskWorkerHireEnum = 1 | 10 | 20 | 30 | 40; |
| | | |
| | | type FlexWorkerEleSignEnum = 10 | 20 | 30; |
| | | |
| | |
| | | belongType?: number; |
| | | } |
| | | |
| | | interface GetUserClientForBackInput { |
| | | pageModel?: Pagination; |
| | | /** 姓名/手机/身份证号/客户 */ |
| | | searchKeys?: string; |
| | | /** 最近录用时间--开始 */ |
| | | nearlyHireDateTimeBegin?: string; |
| | | /** 最近录用时间--结束 */ |
| | | nearlyHireDateTimeEnd?: string; |
| | | /** 最近签约时间--开始 */ |
| | | nearlySignDateTimeBegin?: string; |
| | | /** 最近签约时间--结束 */ |
| | | nearlySignDateTimeEnd?: string; |
| | | /** 实名状态 */ |
| | | realVerifyStatus?: boolean; |
| | | } |
| | | |
| | | interface GetUserClientForBackOutput { |
| | | userId?: string; |
| | | userResumeId?: string; |
| | | /** 姓名 */ |
| | | name?: string; |
| | | /** 身份证号 */ |
| | | idNumber?: string; |
| | | /** 手机号 */ |
| | | contactPhone?: string; |
| | | /** 年龄 */ |
| | | age?: number; |
| | | genderType?: GenderTypeEnum; |
| | | /** 常驻省份Code */ |
| | | residentProvinceCode?: number; |
| | | /** 常驻城市code */ |
| | | residentCityCode?: number; |
| | | /** 常驻省份名称 */ |
| | | residentProvinceName?: string; |
| | | /** 常驻城市名称 */ |
| | | residentCityName?: string; |
| | | /** 实名状态 */ |
| | | realVerifyStatus?: boolean; |
| | | /** 实名时间 */ |
| | | realVerifyTime?: string; |
| | | nearlyWorkRecord?: NearlyFlexWorkerRecord; |
| | | } |
| | | |
| | | interface GetUserClientForBackOutputPageOutput { |
| | | pageModel?: Pagination; |
| | | objectData?: any; |
| | | data?: GetUserClientForBackOutput[]; |
| | | } |
| | | |
| | | interface GetUserClientSignListInput { |
| | | pageModel?: Pagination; |
| | | userId?: string; |
| | | } |
| | | |
| | | interface GetUserDetailForBackOutput { |
| | | userId?: string; |
| | | userResumeId?: string; |
| | | /** 姓名 */ |
| | | name?: string; |
| | | /** 身份证号 */ |
| | | idNumber?: string; |
| | | /** 手机号 */ |
| | | contactPhone?: string; |
| | | /** 年龄 */ |
| | | age?: number; |
| | | /** 身份证正面 */ |
| | | certificateFrontImgUrl?: string; |
| | | /** 身份证反面 */ |
| | | certificateBackImgUrl?: string; |
| | | } |
| | | |
| | | interface GetWorkerListForBackOutput { |
| | | userId?: string; |
| | | /** 姓名 */ |
| | |
| | | resumeCertifiDetail?: UserResumeCertificateDetailOutput; |
| | | resumeDetailInfo?: UserResumeDetailInfoOutput; |
| | | resumeWorkExperience?: UserResumeWorkExperienceOutput; |
| | | /** 工作记录 */ |
| | | resumeWorkRecordList?: UserResumeWorkerRecordOutput[]; |
| | | } |
| | | |
| | |
| | | interface NameValue { |
| | | name?: string; |
| | | value?: string; |
| | | } |
| | | |
| | | interface NearlyFlexWorkerRecord { |
| | | taskId?: string; |
| | | /** 最近录用时间 */ |
| | | nearlyHireDateTime?: string; |
| | | /** 最近签约时间 */ |
| | | nearlySignDateTime?: string; |
| | | /** 所属商户 */ |
| | | enterpirseName?: string; |
| | | } |
| | | |
| | | interface ObjectExtensionsDto { |
| | |
| | | typeSimple?: string; |
| | | } |
| | | |
| | | interface RoleDto { |
| | | /** 角色Id */ |
| | | id?: string; |
| | | /** 角色名 */ |
| | | name?: string; |
| | | } |
| | | |
| | | interface SaveUserResumeBaseInfoInput { |
| | | name?: string; |
| | | socialIdentity?: string; |
| | |
| | | residentCityCode?: number; |
| | | residentProvinceName?: string; |
| | | residentCityName?: string; |
| | | /** 联系电话 */ |
| | | phoneNumber?: string; |
| | | /** 头像 */ |
| | | avatarUrl?: string; |
| | | } |
| | | |
| | | interface SaveUserResumeCertificateInput { |
| | |
| | | releaseStatus?: FlexTaskReleaseStatusEnum; |
| | | } |
| | | |
| | | interface UserClientSignListOutput { |
| | | /** 所属商户 */ |
| | | enterpirseName?: string; |
| | | /** 报名时间 */ |
| | | applyTime?: string; |
| | | enterSignStatus?: FlexWorkerEleSignEnum; |
| | | /** 企业签约时间 */ |
| | | enterSignTime?: string; |
| | | hireStatus?: FlexTaskWorkerHireEnum; |
| | | /** 录用时间 */ |
| | | hireDateTime?: string; |
| | | userSignStatus?: FlexWorkerEleSignEnum; |
| | | /** 灵工签约时间 */ |
| | | userSignTime?: string; |
| | | /** 电子合同 */ |
| | | contractUrl?: string; |
| | | } |
| | | |
| | | interface UserClientSignListOutputPageOutput { |
| | | pageModel?: Pagination; |
| | | objectData?: any; |
| | | data?: UserClientSignListOutput[]; |
| | | } |
| | | |
| | | interface UserData { |
| | | id?: string; |
| | | tenantId?: string; |
| | |
| | | items?: UserData[]; |
| | | } |
| | | |
| | | interface UserResumeBaseInfoOutput { |
| | | interface UserDto { |
| | | /** 用户Id */ |
| | | id?: string; |
| | | /** 登录用户名(账号) */ |
| | | userName?: string; |
| | | /** 名称 */ |
| | | name?: string; |
| | | /** 用户手机号 */ |
| | | phoneNumber?: string; |
| | | /** 账户是否锁住(是否禁用) */ |
| | | isLocked?: boolean; |
| | | /** 角色信息 */ |
| | | roles?: RoleDto[]; |
| | | /** 备注 */ |
| | | remark?: string; |
| | | /** 组织架构公司id */ |
| | | companyOrgId?: string; |
| | | /** 组织架构部门id */ |
| | | departmentOrgId?: string; |
| | | } |
| | | |
| | | interface UserResumeBaseInfoOutput { |
| | | /** 姓名 */ |
| | | name?: string; |
| | | /** 电话号码 */ |
| | | phoneNumber?: string; |
| | | /** 头像 */ |
| | | avatarUrl?: string; |
| | | genderType?: GenderTypeEnum; |
| | | /** 年龄 */ |
| | | age?: number; |
| | | /** 上岗次数 */ |
| | | arrangeCount?: number; |
| | | /** 身份证号码 */ |
| | | idNumber?: string; |
| | | /** 身份 */ |
| | | socialIdentity?: string; |
| | | /** 身份名称 */ |
| | | socialIdentityName?: string; |
| | | /** 学历 */ |
| | | educationalLevel?: string; |
| | | /** 学历名称 */ |
| | | educationalLevelName?: string; |
| | | /** 常驻省份Code */ |
| | | residentProvinceCode?: number; |
| | | /** 常驻城市code */ |
| | | residentCityCode?: number; |
| | | /** 常驻省份名称 */ |
| | | residentProvinceName?: string; |
| | | /** 常驻城市名称 */ |
| | | residentCityName?: string; |
| | | } |
| | | |
| | | interface UserResumeCertificateDetailOutput { |
| | | /** 简历认证详情Id */ |
| | | id?: string; |
| | | userResumeId?: string; |
| | | /** 用户简历Id */ |
| | | userId?: string; |
| | | /** 认证类别Id */ |
| | | certificateTypeId?: string; |
| | | /** 认证证件号默认身份证 */ |
| | | certificateNo?: string; |
| | | /** 证件开始时间 */ |
| | | beginTime?: string; |
| | | /** 证件结束时间 */ |
| | | endTime?: string; |
| | | /** 是否永久 */ |
| | | isPermanent?: boolean; |
| | | certificateUnit?: string; |
| | | /** 身份证正面 */ |
| | | certificateFrontImgUrl?: string; |
| | | /** 身份证反面 */ |
| | | certificateBackImgUrl?: string; |
| | | } |
| | | |
| | | interface UserResumeCertificateListOutput { |
| | | id?: string; |
| | | /** 证书Id */ |
| | | certificateTypeId?: string; |
| | | /** 证书名称 */ |
| | | certificateTypeName?: string; |
| | | /** 工作简历Id */ |
| | | userResumeId?: string; |
| | | } |
| | | |
| | | interface UserResumeDetailInfoOutput { |
| | | /** 身高 */ |
| | | height?: string; |
| | | /** 体重 */ |
| | | weight?: string; |
| | | /** 个人生活照 */ |
| | | lifeCircleImgUrlList?: string[]; |
| | | } |
| | | |
| | | interface UserResumeExpectationJobOutput { |
| | | /** 期望岗位列表 */ |
| | | jobIdList?: IdNameOutput[]; |
| | | freeTime?: UserResumeFreeTimeEnum; |
| | | jobSeekingStatus?: UserResumeJobSeekingStatusEnum; |
| | |
| | | type UserResumeJobSeekingStatusEnum = 1 | 2 | 3; |
| | | |
| | | interface UserResumeWorkerRecordOutput { |
| | | /** 工作时间 */ |
| | | workTime?: string; |
| | | /** 工作地点 */ |
| | | workAddress?: string; |
| | | /** 工作名称 */ |
| | | workName?: string; |
| | | } |
| | | |
| | | interface UserResumeWorkExperienceOutput { |
| | | /** 工作年限 */ |
| | | workingSeniority?: string; |
| | | /** 工作经验 */ |
| | | workExperience?: string; |
| | | } |
| | | |
| | |
| | | <AddOrEditEnterpriseView |
| | | emitAddEvent="enterprise:add" |
| | | emitEditEvent="enterprise:edit" |
| | | backRouteName="MyPublishInformationList" |
| | | backRouteName="EnterpriseManageList" |
| | | :isDetail="false" |
| | | ></AddOrEditEnterpriseView> |
| | | </template> |
New file |
| | |
| | | <template> |
| | | <AddOrEditEnterpriseView backRouteName="EnterpriseManageList" isDetail /> |
| | | </template> |
| | | |
| | | <script setup lang="ts"> |
| | | import AddOrEditEnterpriseView from './components/AddOrEditEnterpriseView.vue'; |
| | | |
| | | defineOptions({ |
| | | name: 'EnterpriseDetail', |
| | | }); |
| | | </script> |
| | |
| | | <AppContainer> |
| | | <ProTableQueryFilterBar @on-reset="reset"> |
| | | <template #query> |
| | | <QueryFilterItem tip-content="状态"> |
| | | <QueryFilterItem tip-content="配置状态"> |
| | | <FieldRadio |
| | | v-model="extraParamState.status" |
| | | :value-enum="[ |
| | | { label: '已配置', value: true }, |
| | | { label: '未配置', value: false }, |
| | | ]" |
| | | v-model="extraParamState.flexEnterpriseSettingStatus" |
| | | :value-enum="FlexEnterpriseSettingStatusText" |
| | | buttonStyle |
| | | showAllBtn |
| | | @change="getList()" |
| | |
| | | </QueryFilterItem> |
| | | <QueryFilterItem> |
| | | <SearchInput |
| | | v-model="extraParamState.name" |
| | | v-model="extraParamState.searchWord" |
| | | style="width: 200px" |
| | | placeholder="企业名称/法人/联系人" |
| | | @on-click-search="getList" |
| | |
| | | <template #btn> |
| | | <el-button |
| | | v-if="checkSubModuleItemShow('pageButton', 'addBtn')" |
| | | @click="openDialog()" |
| | | @click="addOrEditEnterprise()" |
| | | icon="Plus" |
| | | type="primary" |
| | | >新增</el-button |
| | |
| | | <ProTableV2 v-bind="proTableProps" :columns="column" :operationBtns="operationBtns"> |
| | | </ProTableV2> |
| | | </AppContainer> |
| | | <!-- <AddOrEditSearchSetting v-bind="dialogProps" :typeList="typeList" /> --> |
| | | <ConfigureDialog v-bind="dialogProps" /> |
| | | </LoadingLayout> |
| | | </template> |
| | | |
| | |
| | | QueryFilterItem, |
| | | useTable, |
| | | useFormDialog, |
| | | UploadUserFile, |
| | | FieldRadio, |
| | | } from '@bole-core/components'; |
| | | import { useAccess, useGlobalEventContext } from '@/hooks'; |
| | | import * as searchSettingServices from '@/services/api/SearchSetting'; |
| | | import { SearchType, SearchTypeText } from '@/constants'; |
| | | import * as flexEnterpriseServices from '@/services/api/FlexEnterprise'; |
| | | import { |
| | | SearchType, |
| | | FlexEnterpriseSettingStatusText, |
| | | FlexEnterpriseSettingStatus, |
| | | FlexEnterpriseCertificationStatusText, |
| | | EnterpriseConfigureType, |
| | | MessageChannelEnum, |
| | | VerifyStatus, |
| | | SignChannelEnum, |
| | | ChargeTypeEnum, |
| | | FlexEnterpriseStatus, |
| | | } from '@/constants'; |
| | | import ConfigureDialog from './components/ConfigureDialog.vue'; |
| | | import { OrderInputType, Message } from '@bole-core/core'; |
| | | import { convertApi2FormUrl } from '@/utils'; |
| | | import { useQueryClient } from '@tanstack/vue-query'; |
| | | import { useSearchSettingType } from '@/hooks'; |
| | | |
| | |
| | | }); |
| | | |
| | | const operationBtnMap: Record<string, OperationBtnType> = { |
| | | editBtn: { emits: { onClick: (role) => openDialog(role) } }, |
| | | editBtn: { emits: { onClick: (role) => addOrEditEnterprise(role) } }, |
| | | detailBtn: { emits: { onClick: (role) => handleDetail(role) } }, |
| | | configBtn: { emits: { onClick: (role) => openDialog(role) } }, |
| | | freezeBtn: { emits: { onClick: (role) => handleSetStatus(role) } }, |
| | | }; |
| | | |
| | | const { checkSubModuleItemShow, column, operationBtns } = useAccess({ |
| | |
| | | getList(paginationState.pageIndex); |
| | | }); |
| | | |
| | | const router = useRouter(); |
| | | |
| | | const BaseState = { |
| | | loading: true, |
| | | }; |
| | |
| | | const { searchSettingTypeList: typeList } = useSearchSettingType({ |
| | | searchType: SearchType.IndustryCategory, |
| | | }); |
| | | |
| | | const state = reactive({ ...BaseState }); |
| | | |
| | | onMounted(async () => { |
| | |
| | | } = useTable( |
| | | async ({ pageIndex, pageSize }, extraParamState) => { |
| | | try { |
| | | let params: API.GetSearchSettingListInput = { |
| | | let params: API.GetFlexEnterpriseInput = { |
| | | pageModel: { |
| | | rows: pageSize, |
| | | page: pageIndex, |
| | | orderInput: extraParamState.orderInput, |
| | | }, |
| | | name: extraParamState.name, |
| | | // belongType: Number(extraParamState.belongType), |
| | | searchType: Number(extraParamState.searchType), |
| | | status: extraParamState.status, |
| | | flexEnterpriseSettingStatus: extraParamState.flexEnterpriseSettingStatus, |
| | | searchWord: extraParamState.searchWord, |
| | | }; |
| | | |
| | | if (extraParamState.searchType === SearchType.Position) { |
| | | params.isRecommend = extraParamState.isRecommend; |
| | | params.parentId = extraParamState.parentId; |
| | | } |
| | | let res = await searchSettingServices.getSearchSettingList(params, { |
| | | let res = await flexEnterpriseServices.getFlexEnterpriseList(params, { |
| | | showLoading: !state.loading, |
| | | }); |
| | | return res; |
| | |
| | | }, |
| | | { |
| | | defaultExtraParams: { |
| | | name: '', |
| | | searchType: SearchType.Identity, |
| | | orderInput: [{ property: 'sort', order: OrderInputType.Asc }], |
| | | status: '' as any as boolean, |
| | | isRecommend: '' as any as boolean, |
| | | parentId: '', |
| | | searchWord: '', |
| | | orderInput: [{ property: 'id', order: OrderInputType.Asc }], |
| | | flexEnterpriseSettingStatus: '' as any as FlexEnterpriseSettingStatus, |
| | | }, |
| | | queryKey: ['searchSettingServices/getSearchSettingList'], |
| | | queryKey: ['flexEnterpriseServices/getFlexEnterpriseList'], |
| | | columnsRenderProps: { |
| | | searchType: { type: 'enum', valueEnum: SearchTypeText }, |
| | | settingStatus: { type: 'enum', valueEnum: FlexEnterpriseSettingStatusText }, |
| | | certificationStatus: { type: 'enum', valueEnum: FlexEnterpriseCertificationStatusText }, |
| | | }, |
| | | } |
| | | ); |
| | | |
| | | function openDialog(row?: API.GetSearchSettingList) { |
| | | function openDialog(row?: API.FlexEnterpriseDto) { |
| | | if (row) { |
| | | handleEdit({ |
| | | id: row.id, |
| | | searchType: extraParamState.searchType, |
| | | name: row.name, |
| | | sort: row.sort, |
| | | status: row.status, |
| | | src: row.src?.length ? [convertApi2FormUrl(row.src)] : [], |
| | | parentId: row.parentId ?? '', |
| | | flexEnterpirseId: row.id, |
| | | openBank: row.cityName, |
| | | openBranchBank: row.cityName, |
| | | bankAccount: row.cityName, |
| | | verifyStatus: VerifyStatus.NotVerify, |
| | | signChannel: SignChannelEnum.Alipay, |
| | | chargeType: ChargeTypeEnum.Group, |
| | | realVerifyCost: 0, |
| | | signCost: 0, |
| | | mergeSignCost: 0, |
| | | messageCost: 0, |
| | | messageChannel: MessageChannelEnum.Alipay, |
| | | }); |
| | | } else { |
| | | handleAdd({ |
| | | searchType: extraParamState.searchType, |
| | | }); |
| | | handleAdd({}); |
| | | } |
| | | } |
| | | |
| | |
| | | onConfirm: handleAddOrEdit, |
| | | defaultFormParams: { |
| | | id: '', |
| | | searchType: SearchType.Identity, |
| | | name: '', |
| | | sort: 0, |
| | | status: true, |
| | | src: [] as UploadUserFile[], |
| | | parentId: '', |
| | | flexEnterpirseId: '', |
| | | openBank: '', |
| | | openBranchBank: '', |
| | | bankAccount: '', |
| | | verifyStatus: '' as any as VerifyStatus, |
| | | signChannel: '' as any as SignChannelEnum, |
| | | chargeType: '' as any as ChargeTypeEnum, |
| | | realVerifyCost: 0, |
| | | signCost: 0, |
| | | mergeSignCost: 0, |
| | | messageCost: 0, |
| | | messageChannel: '' as any as MessageChannelEnum, |
| | | }, |
| | | }); |
| | | |
| | | async function handleAddOrEdit() { |
| | | async function handleAddOrEdit(type: EnterpriseConfigureType) { |
| | | try { |
| | | let params: API.CreateOrEditSearchInput = { |
| | | searchType: extraParamState.searchType, |
| | | name: editForm.name, |
| | | sort: editForm.sort, |
| | | status: editForm.status, |
| | | src: editForm.src?.[0]?.path ?? '', |
| | | parentId: editForm.parentId ?? '', |
| | | }; |
| | | if (editForm.id) { |
| | | params.id = editForm.id; |
| | | let res; |
| | | if (type === EnterpriseConfigureType.Bank) { |
| | | res = await createOrEditFlexEnterpriseBankSetting(); |
| | | } |
| | | let res = await searchSettingServices.createOrEditSearchSetting(params); |
| | | if (type === EnterpriseConfigureType.Electronic) { |
| | | res = await createOrEditFlexEnterpriseSignSetting(); |
| | | } |
| | | if (type === EnterpriseConfigureType.ShortMessage) { |
| | | res = await createOrEditFlexEnterpriseMessageSetting(); |
| | | } |
| | | if (res) { |
| | | Message.successMessage('操作成功'); |
| | | getList(paginationState.pageIndex); |
| | | dialogState.dialogVisible = false; |
| | | updateCategoryMenu(); |
| | | } |
| | | } catch (error) {} |
| | | } |
| | | |
| | | function updateCategoryMenu() { |
| | | queryClient.invalidateQueries({ |
| | | queryKey: [ |
| | | 'searchSettingServices/getTypeSearchSettingList', |
| | | { searchType: extraParamState.searchType, belongType: null }, |
| | | ], |
| | | }); |
| | | async function createOrEditFlexEnterpriseBankSetting() { |
| | | try { |
| | | let params: API.CreateOrEditFlexEnterpriseBankInput = { |
| | | id: editForm.id, |
| | | openBank: editForm.openBank, |
| | | openBranchBank: editForm.openBranchBank, |
| | | bankAccount: editForm.bankAccount, |
| | | verifyStatus: editForm.verifyStatus, |
| | | flexEnterpirseId: editForm.flexEnterpirseId, |
| | | }; |
| | | return await flexEnterpriseServices.createOrEditFlexEnterpriseBankSetting(params); |
| | | } catch (error) {} |
| | | } |
| | | async function createOrEditFlexEnterpriseSignSetting() { |
| | | try { |
| | | let params: API.CreateOrEditFlexEnterpriseSignSettingInput = { |
| | | id: editForm.id, |
| | | flexEnterpirseId: editForm.flexEnterpirseId, |
| | | signChannel: editForm.signChannel, |
| | | chargeType: editForm.chargeType, |
| | | realVerifyCost: editForm.realVerifyCost, |
| | | signCost: editForm.signCost, |
| | | mergeSignCost: editForm.mergeSignCost, |
| | | }; |
| | | return await flexEnterpriseServices.createOrEditFlexEnterpriseSignSetting(params); |
| | | } catch (error) {} |
| | | } |
| | | async function createOrEditFlexEnterpriseMessageSetting() { |
| | | try { |
| | | let params: API.CreateOrEditFlexEnterpriseMessageSettingInput = { |
| | | id: editForm.id, |
| | | flexEnterpirseId: editForm.flexEnterpirseId, |
| | | messageChannel: editForm.messageChannel, |
| | | messageCost: editForm.messageCost, |
| | | }; |
| | | return await flexEnterpriseServices.createOrEditFlexEnterpriseMessageSetting(params); |
| | | } catch (error) {} |
| | | } |
| | | |
| | | async function setCategoryVis(row: API.GetSearchSettingList) { |
| | | async function handleSetStatus(row: API.FlexEnterpriseDto) { |
| | | try { |
| | | let params: API.EnableSearchSettingInput = { |
| | | let params: API.SetFlexEnterpriseStatusInput = { |
| | | id: row.id, |
| | | status: !row.status, |
| | | status: |
| | | row.status === FlexEnterpriseStatus.Frozen |
| | | ? FlexEnterpriseStatus.Normal |
| | | : FlexEnterpriseStatus.Frozen, |
| | | }; |
| | | let res = await searchSettingServices.enableSearchSetting(params); |
| | | updateCategoryMenu(); |
| | | getList(paginationState.pageIndex); |
| | | return !!res; |
| | | let res = await flexEnterpriseServices.setFlexEnterpriseStatus(params); |
| | | if (res) { |
| | | Message.successMessage('操作成功'); |
| | | getList(paginationState.pageIndex); |
| | | } |
| | | } catch (error) {} |
| | | } |
| | | |
| | | function addOrEditEnterprise(row?: API.FlexEnterpriseDto) { |
| | | router.push({ name: 'AddOrEditEnterprise', params: { id: row?.id ?? '' } }); |
| | | } |
| | | function handleDetail(row: API.FlexEnterpriseDto) { |
| | | router.push({ name: 'EnterpriseDetail', params: { id: row?.id ?? '' } }); |
| | | } |
| | | </script> |
| | |
| | | <ProForm :model="form" :rules="rules" ref="formRef" label-width="120px" :is-read="isDetail"> |
| | | <ProFormCol> |
| | | <ProFormColItem :span="12"> |
| | | <ProFormItemV2 label="企业名称:" prop="name" required> |
| | | <ProFormItemV2 label="企业名称:" prop="enterpriseName"> |
| | | <ProFormText |
| | | v-model.trim="form.name" |
| | | v-model.trim="form.enterpriseName" |
| | | :maxlength="30" |
| | | placeholder="请输入供应商名称" |
| | | /> |
| | |
| | | </ProFormCol> |
| | | <ProFormCol> |
| | | <ProFormColItem :span="12"> |
| | | <ProFormItemV2 label="法人姓名:" prop="name" required> |
| | | <ProFormItemV2 label="法人姓名:" prop="legalPersonName"> |
| | | <ProFormText |
| | | v-model.trim="form.name" |
| | | v-model.trim="form.legalPersonName" |
| | | :maxlength="30" |
| | | placeholder="请输入法人姓名" |
| | | /> |
| | |
| | | </ProFormCol> |
| | | <ProFormCol> |
| | | <ProFormColItem :span="12"> |
| | | <ProFormItemV2 label="法人身份证号:" prop="name" required> |
| | | <ProFormItemV2 label="法人身份证号:" prop="legalPersonIdNumber"> |
| | | <ProFormText |
| | | v-model.trim="form.name" |
| | | v-model.trim="form.legalPersonIdNumber" |
| | | :maxlength="30" |
| | | placeholder="请输入法人身份证号" |
| | | /> |
| | |
| | | </ProFormCol> |
| | | <ProFormCol> |
| | | <ProFormColItem :span="12"> |
| | | <ProFormItemV2 label="所在省份:" prop="name" required> |
| | | <ProFormItemV2 label="所在省份:" prop="proviceName"> |
| | | <ProFormText |
| | | v-model.trim="form.name" |
| | | v-model.trim="form.proviceName" |
| | | :maxlength="30" |
| | | placeholder="请输入所在省份" |
| | | /> |
| | |
| | | </ProFormCol> |
| | | <ProFormCol> |
| | | <ProFormColItem :span="12"> |
| | | <ProFormItemV2 label="所属行业:" prop="name" required> |
| | | <ProFormItemV2 label="所属行业:" prop="belongIndustryType"> |
| | | <ProFormSelect |
| | | placeholder="请选择所属行业" |
| | | :value-enum="typeList" |
| | | enum-value-key="id" |
| | | enum-label-key="name" |
| | | clearable |
| | | v-model="form.name" |
| | | v-model="form.belongIndustryType" |
| | | ></ProFormSelect> |
| | | </ProFormItemV2> |
| | | </ProFormColItem> |
| | | </ProFormCol> |
| | | <ProFormCol> |
| | | <ProFormColItem :span="12"> |
| | | <ProFormItemV2 label="所在城市:" prop="name" required> |
| | | <ProFormItemV2 label="所在城市:" prop="cityName"> |
| | | <ProFormText |
| | | v-model.trim="form.name" |
| | | v-model.trim="form.cityName" |
| | | :maxlength="30" |
| | | placeholder="请输入所在城市" |
| | | /> |
| | |
| | | </ProFormCol> |
| | | <ProFormCol> |
| | | <ProFormColItem :span="24"> |
| | | <ProFormItemV2 label="主营业务:" prop="name"> |
| | | <ProFormItemV2 label="主营业务:" prop="cityName"> |
| | | <ProFormTextArea |
| | | v-model="form.name" |
| | | v-model="form.cityName" |
| | | maxlength="200" |
| | | :rows="6" |
| | | show-word-limit |
| | |
| | | </ProFormCol> |
| | | </ProForm> |
| | | </ChunkCell> |
| | | <ChunkCell title="账号信息"> |
| | | <ProForm |
| | | :model="form" |
| | | :rules="rules" |
| | | ref="accountFormRef" |
| | | label-width="140px" |
| | | :scroll-to-error="false" |
| | | :is-read="isDetail" |
| | | > |
| | | <ProFormCol> |
| | | <ProFormColItem :span="12"> |
| | | <ProFormItemV2 label="账号:" prop="contact"> |
| | | <ProFormText v-model.trim="form.contact" :maxlength="30" placeholder="请输入账号" /> |
| | | </ProFormItemV2> |
| | | </ProFormColItem> |
| | | </ProFormCol> |
| | | <div class="chuck-add-or-edit-actions"> |
| | | <el-button @click="handleBack">返回</el-button> |
| | | <el-button v-if="!isDetail" type="primary" @click="handleSubmit">确认</el-button> |
| | | </div> |
| | | </ProForm> |
| | | </ChunkCell> |
| | | </AppScrollContainer> |
| | | </LoadingLayout> |
| | | </template> |
| | |
| | | } from '@bole-core/components'; |
| | | import { FormRules, FormInstance } from 'element-plus'; |
| | | import { SearchType } from '@/constants'; |
| | | import * as searchSettingServices from '@/services/api/SearchSetting'; |
| | | import * as flexEnterpriseServices from '@/services/api/FlexEnterprise'; |
| | | import { useRouteView, useGlobalEventContext, GlobalEvent, useSearchSettingType } from '@/hooks'; |
| | | import _ from 'lodash'; |
| | | import { validateFormList, filterCN } from '@/utils'; |
| | |
| | | id: '', |
| | | emitAddEvent: 'enterprise:add', |
| | | emitEditEvent: 'enterprise:edit', |
| | | backRouteName: '', |
| | | backRouteName: 'EnterpriseManageList', |
| | | }); |
| | | |
| | | const route = useRoute(); |
| | |
| | | |
| | | const form = reactive({ |
| | | id: '', |
| | | name: '', |
| | | enterpriseName: '', |
| | | legalPersonName: '', |
| | | legalPersonIdNumber: '', |
| | | societyCreditCode: '', |
| | | proviceName: '', |
| | | cityName: '', |
| | | belongIndustryType: '', |
| | | contact: '', |
| | | contactPhone: '', |
| | | email: '', |
| | |
| | | |
| | | const formRef = ref<FormInstance>(); |
| | | const settingFormRef = ref<FormInstance>(); |
| | | const accountFormRef = ref<FormInstance>(); |
| | | |
| | | const rules = reactive<FormRules>({ |
| | | name: [{ required: true, message: '请输入供应商名称', trigger: 'blur' }], |
| | | societyCreditCode: [{ required: true, message: '请输入统一信用代码', trigger: 'blur' }], |
| | | categoryType: [{ required: true, message: '请选择行业配套', trigger: 'change' }], |
| | | areaList: [{ required: true, message: '请选择所在地区', trigger: 'change', type: 'array' }], |
| | | companyAddress: [{ required: true, message: '请输入公司地址', trigger: 'blur' }], |
| | | enterpriseName: [{ required: true, message: '请输入企业名称', trigger: 'blur' }], |
| | | contact: [{ required: true, message: '请输入联系人', trigger: 'blur' }], |
| | | suppierLevel: [{ required: true, message: '请选择供应商等级', trigger: 'change' }], |
| | | // suppierType: [{ required: true, message: '请选择供应商类型', trigger: 'change' }], |
| | | contactPhone: [ |
| | | { required: true, message: '请输入联系电话', trigger: 'blur' }, |
| | | { message: '请输入正确的联系电话', trigger: 'blur', pattern: BoleRegExp.RegPhoneNumber }, |
| | |
| | | |
| | | async function handleSubmit() { |
| | | try { |
| | | const valid = await validateFormList([formRef.value, settingFormRef.value]); |
| | | const valid = await validateFormList([ |
| | | formRef.value, |
| | | settingFormRef.value, |
| | | accountFormRef.value, |
| | | ]); |
| | | if (valid) { |
| | | handleCreateOrEditInsureSupplier(); |
| | | handleCreateOrEditFlexEnterprise(); |
| | | } |
| | | } catch (error) {} |
| | | } |
| | | |
| | | async function handleCreateOrEditInsureSupplier() { |
| | | async function handleCreateOrEditFlexEnterprise() { |
| | | try { |
| | | // let params: API.CreateOrEditSearchInput = { |
| | | // name: form.name, |
| | | // }; |
| | | // if (isEdit.value) { |
| | | // params.id = props.id; |
| | | // } |
| | | // let res = await searchSettingServices.createOrEditSearchSetting(params); |
| | | // if (res) { |
| | | // Message.successMessage(isEdit ? '编辑成功' : '发布成功'); |
| | | // eventContext.emit(isEdit ? 'enterprise:edit' : 'enterprise:add'); |
| | | // handleBack(); |
| | | // } |
| | | let params: API.CreateOrEditFlexEnterpriseInput = { |
| | | enterpriseName: form.enterpriseName, |
| | | legalPersonName: form.legalPersonName, |
| | | legalPersonIdNumber: form.legalPersonIdNumber, |
| | | societyCreditCode: form.societyCreditCode, |
| | | proviceName: form.proviceName, |
| | | cityName: form.cityName, |
| | | belongIndustryType: form.belongIndustryType, |
| | | contact: form.contact, |
| | | contactPhone: form.contactPhone, |
| | | // email: form.email, |
| | | }; |
| | | if (isEdit.value) { |
| | | params.id = props.id; |
| | | } |
| | | let res = await flexEnterpriseServices.createOrEditFlexEnterprise(params); |
| | | if (res) { |
| | | Message.successMessage(isEdit ? '编辑成功' : '发布成功'); |
| | | eventContext.emit(isEdit ? 'enterprise:edit' : 'enterprise:add'); |
| | | handleBack(); |
| | | } |
| | | } catch (error) {} |
| | | } |
| | | |
New file |
| | |
| | | <template> |
| | | <ProDialog title="配置" v-model="innerVisible" @close="onDialogClose" destroy-on-close draggable> |
| | | <ProForm :model="innerForm" ref="dialogForm" label-width="100px"> |
| | | <ProFormItemV2 label="" prop="enterpriseConfigureType" label-width="0"> |
| | | <ProFormRadio |
| | | v-model="enterpriseConfigureType" |
| | | :value-enum="EnterpriseConfigureTypeText" |
| | | buttonStyle |
| | | /> |
| | | </ProFormItemV2> |
| | | <template v-if="enterpriseConfigureType === EnterpriseConfigureType.Bank"> |
| | | <ProFormItemV2 label="开户总行:" prop="openBank"> |
| | | <ProFormText |
| | | v-model.trim="innerForm.openBank" |
| | | placeholder="请输入开户总行" |
| | | :maxlength="40" |
| | | /> |
| | | </ProFormItemV2> |
| | | <ProFormItemV2 label="开户支行:" prop="openBranchBank"> |
| | | <ProFormText |
| | | v-model.trim="innerForm.openBranchBank" |
| | | placeholder="请输入开户支行" |
| | | :maxlength="40" |
| | | /> |
| | | </ProFormItemV2> |
| | | <ProFormItemV2 |
| | | label="银行账户:" |
| | | prop="bankAccount" |
| | | :check-rules="[ |
| | | { message: '请输入银行账户' }, |
| | | { message: '银行账户仅支持数字', pattern: BoleRegExp.RegNumber }, |
| | | ]" |
| | | > |
| | | <ProFormText v-model.trim="innerForm.bankAccount" placeholder="请输入银行账户" /> |
| | | </ProFormItemV2> |
| | | <ProFormItemV2 label="银行账户:" prop="verifyStatus"> |
| | | {{ VerifyStatusText[innerForm.verifyStatus] }} |
| | | <el-button style="margin-left: 40px" type="primary" link @click="handleCheckBankAccount" |
| | | >校验</el-button |
| | | > |
| | | </ProFormItemV2> |
| | | </template> |
| | | <template v-if="enterpriseConfigureType === EnterpriseConfigureType.Electronic"> |
| | | <div class="configure-dialog-form-title">通道配置</div> |
| | | <ProFormItemV2 |
| | | label="名称:" |
| | | prop="signChannel" |
| | | :checkRules="[{ message: '请选择电子签通道' }]" |
| | | > |
| | | <ProFormSelect |
| | | v-model="form.signChannel" |
| | | :valueEnum="SignChannelEnumText" |
| | | placeholder="请选择电子签通道" |
| | | > |
| | | </ProFormSelect> |
| | | </ProFormItemV2> |
| | | <div class="configure-dialog-form-title">费用配置</div> |
| | | <ProFormItemV2 |
| | | label="计费方式:" |
| | | prop="chargeType" |
| | | :checkRules="[{ message: '请选择计费方式' }]" |
| | | > |
| | | <ProFormRadio |
| | | :button-style="false" |
| | | v-model="innerForm.chargeType" |
| | | :value-enum="ChargeTypeEnumText" |
| | | /> |
| | | </ProFormItemV2> |
| | | <template v-if="innerForm.chargeType === ChargeTypeEnum.Group"> |
| | | <ProFormItemV2 label="实名费用:" prop="realVerifyCost"> |
| | | <ProFormInputNumber |
| | | :controls="false" |
| | | v-model="innerForm.realVerifyCost" |
| | | placeholder="请输入" |
| | | unit="元/条" |
| | | /> |
| | | </ProFormItemV2> |
| | | <ProFormItemV2 label="签约费用:" prop="signCost"> |
| | | <ProFormInputNumber |
| | | :controls="false" |
| | | v-model="innerForm.signCost" |
| | | placeholder="请输入" |
| | | unit="元/份" |
| | | /> |
| | | </ProFormItemV2> |
| | | </template> |
| | | <template v-if="innerForm.chargeType === ChargeTypeEnum.Merge"> |
| | | <ProFormItemV2 label="统一电子签:" prop="mergeSignCost"> |
| | | <ProFormInputNumber |
| | | :controls="false" |
| | | v-model="innerForm.mergeSignCost" |
| | | placeholder="请输入" |
| | | unit="元/份" |
| | | /> |
| | | </ProFormItemV2> |
| | | </template> |
| | | </template> |
| | | <template v-if="enterpriseConfigureType === EnterpriseConfigureType.ShortMessage"> |
| | | <div class="configure-dialog-form-title">通道配置</div> |
| | | <ProFormItemV2 |
| | | label="名称:" |
| | | prop="messageChannel" |
| | | :checkRules="[{ message: '请选择短信通道' }]" |
| | | > |
| | | <ProFormSelect |
| | | v-model="form.messageChannel" |
| | | :valueEnum="MessageChannelEnumText" |
| | | placeholder="请选择短信通道" |
| | | > |
| | | </ProFormSelect> |
| | | </ProFormItemV2> |
| | | <div class="configure-dialog-form-title">费用配置</div> |
| | | <ProFormItemV2 label="短信费用:" prop="messageCost"> |
| | | <ProFormInputNumber |
| | | :controls="false" |
| | | v-model="innerForm.messageCost" |
| | | placeholder="请输入" |
| | | unit="元/条" |
| | | /> |
| | | </ProFormItemV2> |
| | | </template> |
| | | </ProForm> |
| | | <template #footer> |
| | | <span class="dialog-footer"> |
| | | <el-button @click="emit('onCancel')">取 消</el-button> |
| | | <el-button type="primary" @click="handleConfirm">确 定</el-button> |
| | | </span> |
| | | </template> |
| | | </ProDialog> |
| | | </template> |
| | | |
| | | <script setup lang="ts"> |
| | | import { FormInstance } from 'element-plus'; |
| | | import { |
| | | ProDialog, |
| | | ProForm, |
| | | ProFormItemV2, |
| | | ProFormText, |
| | | ProFormRadio, |
| | | ProFormInputNumber, |
| | | ProFormSelect, |
| | | } from '@bole-core/components'; |
| | | import { BoleRegExp } from '@bole-core/core'; |
| | | import { |
| | | EnterpriseConfigureType, |
| | | EnterpriseConfigureTypeText, |
| | | ChargeTypeEnum, |
| | | ChargeTypeEnumText, |
| | | SignChannelEnum, |
| | | SignChannelEnumText, |
| | | VerifyStatusText, |
| | | VerifyStatusColor, |
| | | VerifyStatus, |
| | | MessageChannelEnum, |
| | | MessageChannelEnumText, |
| | | } from '@/constants'; |
| | | |
| | | defineOptions({ |
| | | name: 'ConfigureDialog', |
| | | }); |
| | | |
| | | type Props = { |
| | | modelValue: boolean; |
| | | form?: { |
| | | openBank: string; |
| | | openBranchBank: string; |
| | | bankAccount: string; |
| | | verifyStatus: VerifyStatus; |
| | | signChannel: SignChannelEnum; |
| | | chargeType: ChargeTypeEnum; |
| | | realVerifyCost: number; |
| | | signCost: number; |
| | | mergeSignCost: number; |
| | | messageCost: number; |
| | | messageChannel: MessageChannelEnum; |
| | | }; |
| | | }; |
| | | |
| | | const props = withDefaults(defineProps<Props>(), { |
| | | modelValue: false, |
| | | }); |
| | | |
| | | const enterpriseConfigureType = ref<EnterpriseConfigureType>(EnterpriseConfigureType.Bank); |
| | | |
| | | const emit = defineEmits<{ |
| | | (e: 'update:modelValue', value: boolean): void; |
| | | (e: 'update:form', value: Props['form']): void; |
| | | (e: 'onConfirm', value: EnterpriseConfigureType): void; |
| | | (e: 'onCancel'): void; |
| | | }>(); |
| | | |
| | | const dialogForm = ref<FormInstance>(); |
| | | |
| | | const innerVisible = computed({ |
| | | get() { |
| | | return props.modelValue; |
| | | }, |
| | | set(val) { |
| | | emit('update:modelValue', val); |
| | | }, |
| | | }); |
| | | |
| | | const innerForm = computed({ |
| | | get() { |
| | | return props.form; |
| | | }, |
| | | set(val) { |
| | | emit('update:form', val); |
| | | }, |
| | | }); |
| | | |
| | | function handleCheckBankAccount() {} |
| | | |
| | | function onDialogClose() { |
| | | if (!dialogForm.value) return; |
| | | dialogForm.value.resetFields(); |
| | | } |
| | | |
| | | function handleConfirm() { |
| | | if (!dialogForm.value) return; |
| | | dialogForm.value.validate((valid) => { |
| | | if (valid) { |
| | | emit('onConfirm', enterpriseConfigureType.value); |
| | | } else { |
| | | return; |
| | | } |
| | | }); |
| | | } |
| | | </script> |
| | | <style lang="scss" scoped> |
| | | @use '@/style/common.scss' as *; |
| | | |
| | | .configure-dialog-form-title { |
| | | margin-bottom: 10px; |
| | | font-size: 15px; |
| | | font-weight: bold; |
| | | line-height: 36px; |
| | | } |
| | | </style> |