| | |
| | | encryptedData: detail.encryptedData, |
| | | iv: detail.iv, |
| | | sessionKey: wxMiniAppUserLoginRes.sessionKey, |
| | | accessToken: wxMiniAppUserLoginRes.accessToken, |
| | | }); |
| | | res.accessToken = bindRes.accessToken; |
| | | this.loginSuccess(res); |
| | |
| | | <template> |
| | | <PageLayout title="设置" class="setting-page-wrapper" hasBorder> |
| | | <List> |
| | | <ListItem title="登录账号"> |
| | | <!-- <ListItem title="登录账号"> |
| | | <template #extra> |
| | | <div class="user-account"> |
| | | {{ userAccount }} |
| | | </div> |
| | | </template> |
| | | </ListItem> |
| | | </ListItem> --> |
| | | <ListItem title="用户协议" @click="goMineUserPolicy"></ListItem> |
| | | <ListItem title="隐私政策" @click="goPrivacyPolicy"></ListItem> |
| | | <ListItem title="退出登录" @click="handleLoginout"></ListItem> |
| | |
| | | <ChooseInputWithDatePicker |
| | | v-model="form.beginTime" |
| | | :minDate="nowDate" |
| | | placeholder="请选择任务开始日期" |
| | | ></ChooseInputWithDatePicker> |
| | | </nut-form-item> |
| | | <nut-form-item label="任务结束日期:" class="bole-form-item" prop="endTime" label-width="90px"> |
| | | <ChooseInputWithDatePicker |
| | | v-model="form.endTime" |
| | | :minDate="nowDate" |
| | | placeholder="请选择任务结束日期" |
| | | ></ChooseInputWithDatePicker> |
| | | </nut-form-item> |
| | | </nut-form> |
| | |
| | | serviceFee: '' as any as number, |
| | | settlementCycle: EnumSettlementCycle.Month, |
| | | benefits: [] as string[], |
| | | ageMinLimit: 0, |
| | | ageMaxLimit: 0, |
| | | ageMinLimit: '' as any as number, |
| | | ageMaxLimit: '' as any as number, |
| | | genderLimit: 0 as any as EnumUserGender, |
| | | credentialLimits: [] as string[], |
| | | // address: '', |
| | |
| | | required: true, |
| | | message: '请输入年龄要求', |
| | | validator: () => { |
| | | if (!form.ageMinLimit) { |
| | | if (!form.ageMinLimit && form.ageMinLimit > 0) { |
| | | return Promise.reject('请输入年龄要求'); |
| | | } |
| | | if (!form.ageMaxLimit) { |
| | | if (!form.ageMaxLimit && form.ageMaxLimit > 0) { |
| | | return Promise.reject('请输入年龄要求'); |
| | | } |
| | | if (Number(form.ageMaxLimit) <= Number(form.ageMinLimit)) { |
| | |
| | | encryptedData: detail.encryptedData, |
| | | iv: detail.iv, |
| | | sessionKey: wxMiniAppUserLoginRes.sessionKey, |
| | | accessToken: wxMiniAppUserLoginRes.accessToken, |
| | | }); |
| | | res.accessToken = bindRes.accessToken; |
| | | this.loginSuccess(res); |
| | |
| | | import { ChooseInputWithPicker, ChooseInputWithAreaPicker } from '@12333/components'; |
| | | import { convertApi2FormUrlOnlyOne, Message, setOSSLink } from '@12333/utils'; |
| | | import { useAreaTree, useDictionaryDataSelect } from '@12333/hooks'; |
| | | import { CategoryCode } from '@12333/constants'; |
| | | import { AreaType, CategoryCode } from '@12333/constants'; |
| | | import * as userResumeServices from '@12333/services/apiV2/userResume'; |
| | | import Taro from '@tarojs/taro'; |
| | | import { useQuery } from '@tanstack/vue-query'; |
| | |
| | | categoryCode: CategoryCode.Education, |
| | | }); |
| | | |
| | | const { areaTree } = useAreaTree(); |
| | | const { areaTree } = useAreaTree({ |
| | | maxLayer: AreaType.City, |
| | | }); |
| | | |
| | | const form = reactive({ |
| | | avatar: [], |
| | |
| | | <template> |
| | | <PageLayout title="设置" class="setting-page-wrapper" hasBorder> |
| | | <List> |
| | | <ListItem title="登录账号"> |
| | | <!-- <ListItem title="登录账号"> |
| | | <template #extra> |
| | | <div class="user-account"> |
| | | {{ userAccount }} |
| | | </div> |
| | | </template> |
| | | </ListItem> |
| | | </ListItem> --> |
| | | <ListItem title="用户协议" @click="goMineUserPolicy"></ListItem> |
| | | <ListItem title="隐私政策" @click="goPrivacyPolicy"></ListItem> |
| | | <ListItem title="退出登录" @click="handleLoginout"></ListItem> |
| | |
| | | import Taro, { EventChannel } from '@tarojs/taro'; |
| | | import { useDictionaryDataSelect } from './dic'; |
| | | import axios from 'axios'; |
| | | import * as dictionaryServices from '@12333/services/apiV2/dictionary'; |
| | | |
| | | export function useArea() { |
| | | const queryClient = useQueryClient(); |
| | |
| | | export function useAreaTree(options = {} as UseAreaTreeOptions) { |
| | | const { maxLayer = AreaType.Area } = options; |
| | | |
| | | const { areaList } = useAllAreaList(); |
| | | // const { areaList } = useAllAreaList(); |
| | | |
| | | const areaTree = computed(() => formatAreaListToTree(areaList.value, null, unref(maxLayer))); |
| | | const { data: areaTree } = useQuery({ |
| | | queryKey: ['dictionaryServices/getAreaSelect', maxLayer], |
| | | queryFn: () => { |
| | | return dictionaryServices.getAreaSelect( |
| | | { |
| | | maxDeep: unref(maxLayer), |
| | | }, |
| | | { showLoading: false } |
| | | ); |
| | | }, |
| | | }); |
| | | |
| | | // const areaTree = computed(() => formatAreaListToTree(areaList.value, null, unref(maxLayer))); |
| | | console.log('areaTree: ', areaTree); |
| | | |
| | | return { areaTree: areaTree }; |
| | | } |
| | |
| | | }); |
| | | } |
| | | |
| | | /** 查询地区选择器 GET /api/flexjob/dictionary/getAreaSelect */ |
| | | export async function getAreaSelect( |
| | | // 叠加生成的Param类型 (非body参数swagger默认没有生成对象) |
| | | params: API.APIgetAreaSelectParams, |
| | | options?: API.RequestConfig |
| | | ) { |
| | | return request<API.GetAreaSelectQueryResultOption[]>('/api/flexjob/dictionary/getAreaSelect', { |
| | | method: 'GET', |
| | | params: { |
| | | ...params, |
| | | }, |
| | | ...(options || {}), |
| | | }); |
| | | } |
| | | |
| | | /** 获取数据字典类别分页列表数据 POST /api/flexjob/dictionary/getDictionaryCategories */ |
| | | export async function getDictionaryCategories( |
| | | body: API.GetDictionaryCategoriesQuery, |
| | |
| | | import * as user from './user'; |
| | | import * as dictionary from './dictionary'; |
| | | import * as auth from './auth'; |
| | | import * as taskUser from './taskUser'; |
| | | import * as task from './task'; |
| | | import * as enterprise from './enterprise'; |
| | | import * as role from './role'; |
| | | import * as taskUser from './taskUser'; |
| | | import * as menu from './menu'; |
| | | export default { |
| | | userResume, |
| | |
| | | user, |
| | | dictionary, |
| | | auth, |
| | | taskUser, |
| | | task, |
| | | enterprise, |
| | | role, |
| | | taskUser, |
| | | menu, |
| | | }; |
| | |
| | | ...(options || {}), |
| | | }); |
| | | } |
| | | |
| | | /** 任务录用 PUT /api/flexjob/taskUser/setTaskUserHire */ |
| | | export async function setTaskUserHire( |
| | | body: API.SetTaskUserHireCommand, |
| | | options?: API.RequestConfig |
| | | ) { |
| | | return request<number>('/api/flexjob/taskUser/setTaskUserHire', { |
| | | method: 'PUT', |
| | | headers: { |
| | | 'Content-Type': 'application/json-patch+json', |
| | | }, |
| | | data: body, |
| | | ...(options || {}), |
| | | }); |
| | | } |
| | |
| | | request?: GetAliyunOSSAcsQuery; |
| | | } |
| | | |
| | | interface APIgetAreaSelectParams { |
| | | /** 最大深度 */ |
| | | maxDeep?: number; |
| | | } |
| | | |
| | | interface APIgetCurrentLogierMenuParams { |
| | | /** Id */ |
| | | id?: string; |
| | |
| | | all?: boolean; |
| | | /** 最大深度 */ |
| | | maxDeep?: number; |
| | | /** 携带下级 */ |
| | | withChildren?: boolean; |
| | | } |
| | | |
| | | interface APIgetEnterpriseElectronSignSettingParams { |
| | |
| | | } |
| | | |
| | | interface BindWxmpUserInfoCommand { |
| | | /** 访问令牌 */ |
| | | accessToken: string; |
| | | /** 包括敏感数据在内的完整用户信息的加密数据 */ |
| | | encryptedData: string; |
| | | /** 加密算法的初始向量 */ |
| | |
| | | timestamp?: number; |
| | | } |
| | | |
| | | interface FriendlyResultGetUserResumesQueryResult { |
| | | /** 跟踪Id */ |
| | | traceId?: string; |
| | | /** 状态码 */ |
| | | code?: number; |
| | | /** 错误码 */ |
| | | errorCode?: string; |
| | | data?: GetUserResumesQueryResult; |
| | | /** 执行成功 */ |
| | | success?: boolean; |
| | | /** 错误信息 */ |
| | | msg?: any; |
| | | /** 附加数据 */ |
| | | extras?: any; |
| | | /** 时间戳 */ |
| | | timestamp?: number; |
| | | } |
| | | |
| | | interface FriendlyResultGetUserResumeWorkExperienceQueryResult { |
| | | /** 跟踪Id */ |
| | | traceId?: string; |
| | |
| | | errorCode?: string; |
| | | /** 数据 */ |
| | | data?: number; |
| | | /** 执行成功 */ |
| | | success?: boolean; |
| | | /** 错误信息 */ |
| | | msg?: any; |
| | | /** 附加数据 */ |
| | | extras?: any; |
| | | /** 时间戳 */ |
| | | timestamp?: number; |
| | | } |
| | | |
| | | interface FriendlyResultListGetAreaSelectQueryResultOption { |
| | | /** 跟踪Id */ |
| | | traceId?: string; |
| | | /** 状态码 */ |
| | | code?: number; |
| | | /** 错误码 */ |
| | | errorCode?: string; |
| | | /** 数据 */ |
| | | data?: GetAreaSelectQueryResultOption[]; |
| | | /** 执行成功 */ |
| | | success?: boolean; |
| | | /** 错误信息 */ |
| | |
| | | requestId?: string; |
| | | } |
| | | |
| | | interface GetAreaSelectQueryResultOption { |
| | | /** Id */ |
| | | areaCode?: string; |
| | | /** 地区名称 */ |
| | | areaName?: string; |
| | | /** 子级 */ |
| | | children?: GetAreaSelectQueryResultOption[]; |
| | | /** Id */ |
| | | id?: string; |
| | | /** 上级编号 */ |
| | | parentCode?: string; |
| | | /** 层级 */ |
| | | leyer?: number; |
| | | /** 排序 */ |
| | | sort?: number; |
| | | /** 快速查询 */ |
| | | quickQuery?: string; |
| | | } |
| | | |
| | | type GetCurrentLogierMenusQuery = Record<string, any>; |
| | | |
| | | interface GetDictionaryCategoriesQuery { |
| | |
| | | } |
| | | |
| | | type GetDictionaryCategorySelectQuery = Record<string, any>; |
| | | |
| | | interface GetDictionaryCategorySelectQueryOption { |
| | | /** Id */ |
| | | id?: string; |
| | | /** 编号 */ |
| | | code?: string; |
| | | /** 名称 */ |
| | | name?: string; |
| | | /** 字段名(逗号隔开) */ |
| | | fieldNames?: string; |
| | | /** 备注 */ |
| | | remark?: string; |
| | | } |
| | | |
| | | interface GetDictionaryDataSelectQueryResultOption { |
| | | /** Id */ |
| | | id?: string; |
| | | /** 上级Id */ |
| | | parentId?: string; |
| | | /** 上级编号 */ |
| | | parentCode?: string; |
| | | /** 子级 */ |
| | | children?: SelectOptionStringGetDictionaryDataSelectQueryResultOption[]; |
| | | /** 字典路径 */ |
| | | path?: string; |
| | | /** 深度 */ |
| | | deep?: number; |
| | | /** 排序 */ |
| | | sort?: number; |
| | | /** 编号 */ |
| | | code?: string; |
| | | /** 显示内容 */ |
| | | content: string; |
| | | /** 字段1 */ |
| | | field1?: string; |
| | | /** 字段2 */ |
| | | field2?: string; |
| | | /** 字段3 */ |
| | | field3?: string; |
| | | /** 字段4 */ |
| | | field4?: string; |
| | | /** 字段5 */ |
| | | field5?: string; |
| | | } |
| | | |
| | | interface GetDictionaryDatasQuery { |
| | | /** 类别Id(Id/编号二选一) */ |
| | |
| | | enterpriseId?: string; |
| | | /** 企业全称 */ |
| | | enterpriseName?: string; |
| | | /** 联系电话 */ |
| | | contactPhoneNumber?: string; |
| | | /** 在招岗位数量 */ |
| | | taskCount?: number; |
| | | /** 报名人数 */ |
| | | applyCount?: number; |
| | | /** 任务名称 */ |
| | | name?: string; |
| | | billingMethod?: EnumBillingMethod; |
| | |
| | | isCollected?: boolean; |
| | | status?: EnumTaskStatus; |
| | | releaseStatus?: EnumTaskReleaseStatus; |
| | | hireStatus?: EnumTaskUserHireStatus; |
| | | } |
| | | |
| | | interface GetTaskInfoQueryResultBenefit { |
| | |
| | | weight?: number; |
| | | /** 生活照 */ |
| | | photos?: string[]; |
| | | /** 经历 */ |
| | | taskInfoUsers?: GetUserResumeQueryResultExperience[]; |
| | | } |
| | | |
| | | interface GetUserResumeQueryResultCredential { |
| | |
| | | expectJobCode?: string; |
| | | /** 期望岗位 */ |
| | | expectJobContent?: string; |
| | | } |
| | | |
| | | interface GetUserResumeQueryResultExperience { |
| | | /** 签约时间 */ |
| | | signContractTime?: string; |
| | | /** 企业全称 */ |
| | | enterpriseName?: string; |
| | | /** 任务名称 */ |
| | | name?: string; |
| | | } |
| | | |
| | | interface GetUserResumesQuery { |
| | | /** 任务Id */ |
| | | taskInfoId?: string; |
| | | /** 期望岗位编号 */ |
| | | userExpectJobs?: string[]; |
| | | gender?: EnumUserGender; |
| | | /** 身份编号 */ |
| | | personalIdentityCode?: string; |
| | | /** 年龄范围最小 */ |
| | | ageMin?: number; |
| | | /** 年龄范围大 */ |
| | | ageMax?: number; |
| | | /** 资格证书编号 */ |
| | | userCredentials?: string[]; |
| | | pageModel?: PagedListQueryPageModel; |
| | | } |
| | | |
| | | interface GetUserResumesQueryResult { |
| | | pageModel?: PagedListQueryResultPageModel; |
| | | /** 数据 */ |
| | | data?: GetUserResumesQueryResultItem[]; |
| | | } |
| | | |
| | | interface GetUserResumesQueryResultItem { |
| | | /** 用户Id */ |
| | | id?: string; |
| | | /** 头像 */ |
| | | avatar?: string; |
| | | /** 姓名 */ |
| | | name?: string; |
| | | /** 手机号 */ |
| | | contactPhoneNumber?: string; |
| | | gender?: EnumUserGender; |
| | | /** 是否实名 */ |
| | | isReal?: boolean; |
| | | /** 年龄 */ |
| | | age?: number; |
| | | /** 身份编号 */ |
| | | personalIdentityCode?: string; |
| | | /** 身份 */ |
| | | personalIdentityContent?: string; |
| | | /** 学历编号 */ |
| | | educationalBackgroundCode?: string; |
| | | /** 学历 */ |
| | | educationalBackgroundContent?: string; |
| | | /** 上岗次数 */ |
| | | taskCount?: number; |
| | | /** 工作资历 */ |
| | | workSeniority?: string; |
| | | /** 工作经验 */ |
| | | workExperience?: string; |
| | | hireStatus?: EnumTaskUserHireStatus; |
| | | } |
| | | |
| | | type GetUserResumeWorkExperienceQuery = Record<string, any>; |
| | |
| | | value?: string; |
| | | /** 标签 */ |
| | | label?: string; |
| | | /** 数据 */ |
| | | data?: any; |
| | | data?: GetDictionaryCategorySelectQueryOption; |
| | | } |
| | | |
| | | interface SelectOptionStringGetDictionaryDataSelectQueryResultOption { |
| | |
| | | value?: string; |
| | | /** 标签 */ |
| | | label?: string; |
| | | /** 数据 */ |
| | | data?: any; |
| | | data?: GetDictionaryDataSelectQueryResultOption; |
| | | } |
| | | |
| | | interface SendLoginOrRegisterVerifyCodeCommand { |
| | |
| | | releaseStatus?: EnumTaskReleaseStatus; |
| | | } |
| | | |
| | | interface SetTaskUserHireCommand { |
| | | /** 任务Id */ |
| | | id?: string; |
| | | /** 人员Id */ |
| | | userIds?: string[]; |
| | | hireStatus?: EnumTaskUserHireStatus; |
| | | } |
| | | |
| | | interface SetUserInfoRolesCommand { |
| | | /** 用户Id */ |
| | | userInfoId?: string; |
| | |
| | | ); |
| | | } |
| | | |
| | | /** 查询灵工分页列表数据 POST /api/user/userResume/getUserResumes */ |
| | | export async function getUserResumes(body: API.GetUserResumesQuery, options?: API.RequestConfig) { |
| | | return request<API.GetUserResumesQueryResult>('/api/user/userResume/getUserResumes', { |
| | | method: 'POST', |
| | | headers: { |
| | | 'Content-Type': 'application/json-patch+json', |
| | | }, |
| | | data: body, |
| | | ...(options || {}), |
| | | }); |
| | | } |
| | | |
| | | /** 查询用户简历-工作经验 GET /api/user/userResume/getUserResumeWorkExperience */ |
| | | export async function getUserResumeWorkExperience( |
| | | // 叠加生成的Param类型 (非body参数swagger默认没有生成对象) |