From fea063f5c7fdf79d56ada2dd2b8045a44ca2db44 Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期五, 08 八月 2025 15:17:55 +0800
Subject: [PATCH] feat: 任务
---
src/views/EmploymentManage/EmploymentSignList.vue | 4
src/views/EmploymentManage/constants/columns.ts | 20
src/views/ServiceChargeManage/ServiceChargeDetail.vue | 4
src/views/EmploymentManage/EmploymentManage.vue | 121 ++-
src/views/FinanceManage/components/DistributionDetailView.vue | 3
src/hooks/index.ts | 2
src/services/api/task.ts | 75 ++
src/views/FinanceManage/components/UsageDetailView.vue | 3
auto-imports.d.ts | 65 ++
src/views/EmploymentManage/components/AddOrEditEmploymentView.vue | 213 +++++-
src/views/EmploymentManage/CheckManage.vue | 3
src/constants/apiEnum.ts | 100 +++
src/constants/index.ts | 1
types/global.d.ts | 9
src/constants/dic.ts | 60 ++
src/hooks/dic.ts | 252 ++++++++
src/constants/task.ts | 49 +
.eslintrc-auto-import.json | 30 +
src/services/api/typings.d.ts | 397 ++++++++++++
src/components/WeMap/WeMap.vue | 1
src/services/api/dictionary.ts | 51 +
src/views/ServiceChargeManage/ServiceChargeManage.vue | 3
src/views/EmploymentManage/EmploymentManageArrange.vue | 4
types/api.d.ts | 15
src/views/FlexJobManage/FlexJobManage.vue | 4
/dev/null | 66 --
src/services/api/index.ts | 22
src/views/EmploymentManage/components/CheckManageDialog.vue | 3
src/utils/common/area.ts | 11
src/services/api/auth.ts | 12
src/services/api/user.ts | 81 ++
31 files changed, 1,416 insertions(+), 268 deletions(-)
diff --git a/.eslintrc-auto-import.json b/.eslintrc-auto-import.json
index e898675..564f90a 100644
--- a/.eslintrc-auto-import.json
+++ b/.eslintrc-auto-import.json
@@ -3,14 +3,20 @@
"AppLocalConfig": true,
"AppType": true,
"AreaType": true,
+ "CategoryCode": true,
+ "CertificateTypeCodeEnum": true,
"Component": true,
"ComponentPublicInstance": true,
"ComputedRef": true,
"DirectiveBinding": true,
"EditorType": true,
"EditorTypeText": true,
+ "EducationCodeEnum": true,
"EffectScope": true,
"EmptyTextEditorItem": true,
+ "EnumBillingMethod": true,
+ "EnumBillingMethodText": true,
+ "EnumBillingMethodUnitText": true,
"EnumClientType": true,
"EnumClientTypeText": true,
"EnumMenuType": true,
@@ -22,8 +28,23 @@
"EnumRoleWebApiDataPower": true,
"EnumRoleWebApiDataPowerText": true,
"EnumRoleWebApiDataPowerTextForFilter": true,
+ "EnumSettlementCycle": true,
+ "EnumSettlementCycleText": true,
"EnumSmsAccess": true,
- "EnumUserInfoStatus": true,
+ "EnumSmsTemplateType": true,
+ "EnumTaskCheckReceiveStatus": true,
+ "EnumTaskRecommendStatus": true,
+ "EnumTaskRecommendStatusText": true,
+ "EnumTaskReleaseStatus": true,
+ "EnumTaskReleaseStatusText": true,
+ "EnumTaskReleaseStatusTextForTip": true,
+ "EnumTaskSettlementStatus": true,
+ "EnumTaskStatus": true,
+ "EnumTaskStatusText": true,
+ "EnumUserGender": true,
+ "EnumUserGenderText": true,
+ "EnumUserGenderTextForEdit": true,
+ "EnumUserStatus": true,
"EnumUserType": true,
"EnumUserTypeText": true,
"ExtractDefaultPropTypes": true,
@@ -40,6 +61,7 @@
"GlobalEvent": true,
"GlobalEventContext": true,
"GlobalEventListener": true,
+ "IdentityCodeEnum": true,
"InjectionKey": true,
"MaybeRef": true,
"MaybeRefOrGetter": true,
@@ -72,6 +94,7 @@
"ThemeColors": true,
"ThemeColorsType": true,
"VNode": true,
+ "WelfareCodeEnum": true,
"WritableComputedRef": true,
"acceptHMRUpdate": true,
"computed": true,
@@ -136,11 +159,16 @@
"triggerRef": true,
"unref": true,
"useAccess": true,
+ "useAllAreaList": true,
+ "useArea": true,
+ "useAreaByCascader": true,
"useAttrs": true,
"useClearSubModule": true,
"useCopyToClipboard": true,
"useCssModule": true,
"useCssVars": true,
+ "useDictionaryDataSelect": true,
+ "useGetDictionaryCategorySelect": true,
"useGlobalEventContext": true,
"useGlobalEventProvide": true,
"useGroupColumns": true,
diff --git a/auto-imports.d.ts b/auto-imports.d.ts
index eb2b04b..89fcfda 100644
--- a/auto-imports.d.ts
+++ b/auto-imports.d.ts
@@ -9,12 +9,18 @@
const AppLocalConfig: typeof import('./src/constants/app')['AppLocalConfig']
const AppType: typeof import('./src/constants/app')['AppType']
const AreaType: typeof import('./src/constants/enum')['AreaType']
+ const CategoryCode: typeof import('./src/constants/dic')['CategoryCode']
+ const CertificateTypeCodeEnum: typeof import('./src/constants/dic')['CertificateTypeCodeEnum']
const CommonAnnexTableColumns: typeof import('@/constants')['CommonAnnexTableColumns']
const EditorType: typeof import('./src/constants/editor')['EditorType']
const EditorTypeText: typeof import('./src/constants/editor')['EditorTypeText']
+ const EducationCodeEnum: typeof import('./src/constants/dic')['EducationCodeEnum']
const EffectScope: typeof import('vue')['EffectScope']
const ElMessageBox: typeof import('element-plus/es')['ElMessageBox']
const EmptyTextEditorItem: typeof import('./src/constants/editor')['EmptyTextEditorItem']
+ const EnumBillingMethod: typeof import('./src/constants/apiEnum')['EnumBillingMethod']
+ const EnumBillingMethodText: typeof import('./src/constants/task')['EnumBillingMethodText']
+ 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 EnumMenuType: typeof import('./src/constants/apiEnum')['EnumMenuType']
@@ -26,8 +32,25 @@
const EnumRoleWebApiDataPower: typeof import('./src/constants/apiEnum')['EnumRoleWebApiDataPower']
const EnumRoleWebApiDataPowerText: typeof import('./src/constants/apiEnumText')['EnumRoleWebApiDataPowerText']
const EnumRoleWebApiDataPowerTextForFilter: typeof import('./src/constants/apiEnumText')['EnumRoleWebApiDataPowerTextForFilter']
+ const EnumSettlementCycle: typeof import('./src/constants/apiEnum')['EnumSettlementCycle']
+ const EnumSettlementCycleText: typeof import('./src/constants/task')['EnumSettlementCycleText']
const EnumSmsAccess: typeof import('./src/constants/apiEnum')['EnumSmsAccess']
+ const EnumSmsTemplateType: typeof import('./src/constants/apiEnum')['EnumSmsTemplateType']
+ const EnumTaskCheckReceiveStatus: typeof import('./src/constants/apiEnum')['EnumTaskCheckReceiveStatus']
+ const EnumTaskRecommendStatus: typeof import('./src/constants/apiEnum')['EnumTaskRecommendStatus']
+ const EnumTaskRecommendStatusText: typeof import('./src/constants/task')['EnumTaskRecommendStatusText']
+ const EnumTaskReleaseStatus: typeof import('./src/constants/apiEnum')['EnumTaskReleaseStatus']
+ const EnumTaskReleaseStatusText: typeof import('./src/constants/task')['EnumTaskReleaseStatusText']
+ const EnumTaskReleaseStatusTextForTip: typeof import('./src/constants/task')['EnumTaskReleaseStatusTextForTip']
+ const EnumTaskSettlementStatus: typeof import('./src/constants/apiEnum')['EnumTaskSettlementStatus']
+ const EnumTaskStatus: typeof import('./src/constants/apiEnum')['EnumTaskStatus']
+ const EnumTaskStatusText: typeof import('./src/constants/task')['EnumTaskStatusText']
+ const EnumUserGender: typeof import('./src/constants/apiEnum')['EnumUserGender']
+ const EnumUserGenderText: typeof import('./src/constants/task')['EnumUserGenderText']
+ const EnumUserGenderTextForEdit: typeof import('./src/constants/task')['EnumUserGenderTextForEdit']
+ const EnumUserGenderWithAllText: typeof import('./src/constants/task')['EnumUserGenderWithAllText']
const EnumUserInfoStatus: typeof import('./src/constants/apiEnum')['EnumUserInfoStatus']
+ const EnumUserStatus: typeof import('./src/constants/apiEnum')['EnumUserStatus']
const EnumUserType: typeof import('./src/constants/apiEnum')['EnumUserType']
const EnumUserTypeText: typeof import('./src/constants/apiEnumText')['EnumUserTypeText']
const FastButtonMap: typeof import('./src/constants/module')['FastButtonMap']
@@ -37,6 +60,7 @@
const FlexEnterpriseSettingStatus: typeof import('./src/constants/enum')['FlexEnterpriseSettingStatus']
const Gender: typeof import('./src/constants/enum')['Gender']
const GenderText: typeof import('./src/constants/enum')['GenderText']
+ const IdentityCodeEnum: typeof import('./src/constants/dic')['IdentityCodeEnum']
const MenuSvgIconMap: typeof import('./src/constants/menu')['MenuSvgIconMap']
const ModuleColumns: typeof import('./src/constants/module')['ModuleColumns']
const MyRegExp: typeof import('./src/constants/regExp')['MyRegExp']
@@ -58,6 +82,7 @@
const SubModuleType: typeof import('./src/constants/module')['SubModuleType']
const TempFolderPath: typeof import('./src/constants/enum')['TempFolderPath']
const ThemeColors: typeof import('./src/constants/theme')['ThemeColors']
+ const WelfareCodeEnum: typeof import('./src/constants/dic')['WelfareCodeEnum']
const acceptHMRUpdate: typeof import('pinia')['acceptHMRUpdate']
const computed: typeof import('vue')['computed']
const copyTextToClipboard: typeof import('./src/hooks/useCopyToClipboard')['copyTextToClipboard']
@@ -121,11 +146,16 @@
const triggerRef: typeof import('vue')['triggerRef']
const unref: typeof import('vue')['unref']
const useAccess: typeof import('./src/hooks/useAccess')['useAccess']
+ const useAllAreaList: typeof import('./src/hooks/dic')['useAllAreaList']
+ const useArea: typeof import('./src/hooks/dic')['useArea']
+ const useAreaByCascader: typeof import('./src/hooks/dic')['useAreaByCascader']
const useAttrs: typeof import('vue')['useAttrs']
const useClearSubModule: typeof import('./src/hooks/useAccess')['useClearSubModule']
const useCopyToClipboard: typeof import('./src/hooks/useCopyToClipboard')['useCopyToClipboard']
const useCssModule: typeof import('vue')['useCssModule']
const useCssVars: typeof import('vue')['useCssVars']
+ const useDictionaryDataSelect: typeof import('./src/hooks/dic')['useDictionaryDataSelect']
+ const useGetDictionaryCategorySelect: typeof import('./src/hooks/dic')['useGetDictionaryCategorySelect']
const useGlobalEventContext: typeof import('./src/hooks/useEvent')['useGlobalEventContext']
const useGlobalEventProvide: typeof import('./src/hooks/useEvent')['useGlobalEventProvide']
const useGroupColumns: typeof import('./src/hooks/useAccess')['useGroupColumns']
@@ -161,8 +191,11 @@
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 { EnumClientType, EnumMenuType, EnumMenuVisitLevel, EnumPagedListOrder, EnumRealAccess, EnumResourceController, EnumResourceMethod, EnumRoleWebApiDataPower, EnumSmsAccess, EnumUserInfoStatus, EnumUserType, EnumClientType, EnumMenuType, EnumMenuVisitLevel, EnumPagedListOrder, EnumRealAccess, EnumResourceController, EnumResourceMethod, EnumRoleWebApiDataPower, EnumSmsAccess, EnumUserInfoStatus, EnumUserType } from './src/constants/apiEnum'
+ export type { EnumBillingMethod, EnumClientType, EnumMenuType, EnumMenuVisitLevel, EnumPagedListOrder, EnumRealAccess, EnumResourceController, EnumResourceMethod, EnumRoleWebApiDataPower, EnumSettlementCycle, EnumSmsAccess, EnumSmsTemplateType, EnumTaskCheckReceiveStatus, EnumTaskRecommendStatus, EnumTaskReleaseStatus, EnumTaskSettlementStatus, EnumTaskStatus, EnumUserGender, EnumUserStatus, EnumUserType, EnumBillingMethod, EnumClientType, EnumMenuType, EnumMenuVisitLevel, EnumPagedListOrder, EnumRealAccess, EnumResourceController, EnumResourceMethod, EnumRoleWebApiDataPower, EnumSettlementCycle, EnumSmsAccess, EnumSmsTemplateType, EnumTaskCheckReceiveStatus, EnumTaskRecommendStatus, EnumTaskReleaseStatus, EnumTaskSettlementStatus, EnumTaskStatus, EnumUserGender, EnumUserStatus, EnumUserType } from './src/constants/apiEnum'
import('./src/constants/apiEnum')
+ // @ts-ignore
+ export type { CategoryCode, IdentityCodeEnum, EducationCodeEnum, CertificateTypeCodeEnum, WelfareCodeEnum } from './src/constants/dic'
+ import('./src/constants/dic')
// @ts-ignore
export type { EditorType, EditorType } from './src/constants/editor'
import('./src/constants/editor')
@@ -191,10 +224,16 @@
readonly AppLocalConfig: UnwrapRef<typeof import('./src/constants/app')['AppLocalConfig']>
readonly AppType: UnwrapRef<typeof import('./src/constants/app')['AppType']>
readonly AreaType: UnwrapRef<typeof import('./src/constants/enum')['AreaType']>
+ readonly CategoryCode: UnwrapRef<typeof import('./src/constants/dic')['CategoryCode']>
+ readonly CertificateTypeCodeEnum: UnwrapRef<typeof import('./src/constants/dic')['CertificateTypeCodeEnum']>
readonly EditorType: UnwrapRef<typeof import('./src/constants/editor')['EditorType']>
readonly EditorTypeText: UnwrapRef<typeof import('./src/constants/editor')['EditorTypeText']>
+ readonly EducationCodeEnum: UnwrapRef<typeof import('./src/constants/dic')['EducationCodeEnum']>
readonly EffectScope: UnwrapRef<typeof import('vue')['EffectScope']>
readonly EmptyTextEditorItem: UnwrapRef<typeof import('./src/constants/editor')['EmptyTextEditorItem']>
+ readonly EnumBillingMethod: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumBillingMethod']>
+ readonly EnumBillingMethodText: UnwrapRef<typeof import('./src/constants/task')['EnumBillingMethodText']>
+ 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 EnumMenuType: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumMenuType']>
@@ -206,8 +245,23 @@
readonly EnumRoleWebApiDataPower: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumRoleWebApiDataPower']>
readonly EnumRoleWebApiDataPowerText: UnwrapRef<typeof import('./src/constants/apiEnumText')['EnumRoleWebApiDataPowerText']>
readonly EnumRoleWebApiDataPowerTextForFilter: UnwrapRef<typeof import('./src/constants/apiEnumText')['EnumRoleWebApiDataPowerTextForFilter']>
+ readonly EnumSettlementCycle: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumSettlementCycle']>
+ readonly EnumSettlementCycleText: UnwrapRef<typeof import('./src/constants/task')['EnumSettlementCycleText']>
readonly EnumSmsAccess: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumSmsAccess']>
- readonly EnumUserInfoStatus: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumUserInfoStatus']>
+ readonly EnumSmsTemplateType: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumSmsTemplateType']>
+ readonly EnumTaskCheckReceiveStatus: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumTaskCheckReceiveStatus']>
+ readonly EnumTaskRecommendStatus: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumTaskRecommendStatus']>
+ readonly EnumTaskRecommendStatusText: UnwrapRef<typeof import('./src/constants/task')['EnumTaskRecommendStatusText']>
+ readonly EnumTaskReleaseStatus: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumTaskReleaseStatus']>
+ readonly EnumTaskReleaseStatusText: UnwrapRef<typeof import('./src/constants/task')['EnumTaskReleaseStatusText']>
+ readonly EnumTaskReleaseStatusTextForTip: UnwrapRef<typeof import('./src/constants/task')['EnumTaskReleaseStatusTextForTip']>
+ readonly EnumTaskSettlementStatus: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumTaskSettlementStatus']>
+ readonly EnumTaskStatus: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumTaskStatus']>
+ readonly EnumTaskStatusText: UnwrapRef<typeof import('./src/constants/task')['EnumTaskStatusText']>
+ readonly EnumUserGender: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumUserGender']>
+ readonly EnumUserGenderText: UnwrapRef<typeof import('./src/constants/task')['EnumUserGenderText']>
+ readonly EnumUserGenderTextForEdit: UnwrapRef<typeof import('./src/constants/task')['EnumUserGenderTextForEdit']>
+ readonly EnumUserStatus: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumUserStatus']>
readonly EnumUserType: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumUserType']>
readonly EnumUserTypeText: UnwrapRef<typeof import('./src/constants/apiEnumText')['EnumUserTypeText']>
readonly FastButtonMap: UnwrapRef<typeof import('./src/constants/module')['FastButtonMap']>
@@ -217,6 +271,7 @@
readonly FlexEnterpriseSettingStatus: UnwrapRef<typeof import('./src/constants/enum')['FlexEnterpriseSettingStatus']>
readonly Gender: UnwrapRef<typeof import('./src/constants/enum')['Gender']>
readonly GenderText: UnwrapRef<typeof import('./src/constants/enum')['GenderText']>
+ readonly IdentityCodeEnum: UnwrapRef<typeof import('./src/constants/dic')['IdentityCodeEnum']>
readonly MenuSvgIconMap: UnwrapRef<typeof import('./src/constants/menu')['MenuSvgIconMap']>
readonly ModuleColumns: UnwrapRef<typeof import('./src/constants/module')['ModuleColumns']>
readonly MyRegExp: UnwrapRef<typeof import('./src/constants/regExp')['MyRegExp']>
@@ -238,6 +293,7 @@
readonly SubModuleType: UnwrapRef<typeof import('./src/constants/module')['SubModuleType']>
readonly TempFolderPath: UnwrapRef<typeof import('./src/constants/enum')['TempFolderPath']>
readonly ThemeColors: UnwrapRef<typeof import('./src/constants/theme')['ThemeColors']>
+ readonly WelfareCodeEnum: UnwrapRef<typeof import('./src/constants/dic')['WelfareCodeEnum']>
readonly acceptHMRUpdate: UnwrapRef<typeof import('pinia')['acceptHMRUpdate']>
readonly computed: UnwrapRef<typeof import('vue')['computed']>
readonly copyTextToClipboard: UnwrapRef<typeof import('./src/hooks/useCopyToClipboard')['copyTextToClipboard']>
@@ -301,11 +357,16 @@
readonly triggerRef: UnwrapRef<typeof import('vue')['triggerRef']>
readonly unref: UnwrapRef<typeof import('vue')['unref']>
readonly useAccess: UnwrapRef<typeof import('./src/hooks/useAccess')['useAccess']>
+ readonly useAllAreaList: UnwrapRef<typeof import('./src/hooks/dic')['useAllAreaList']>
+ readonly useArea: UnwrapRef<typeof import('./src/hooks/dic')['useArea']>
+ readonly useAreaByCascader: UnwrapRef<typeof import('./src/hooks/dic')['useAreaByCascader']>
readonly useAttrs: UnwrapRef<typeof import('vue')['useAttrs']>
readonly useClearSubModule: UnwrapRef<typeof import('./src/hooks/useAccess')['useClearSubModule']>
readonly useCopyToClipboard: UnwrapRef<typeof import('./src/hooks/useCopyToClipboard')['useCopyToClipboard']>
readonly useCssModule: UnwrapRef<typeof import('vue')['useCssModule']>
readonly useCssVars: UnwrapRef<typeof import('vue')['useCssVars']>
+ readonly useDictionaryDataSelect: UnwrapRef<typeof import('./src/hooks/dic')['useDictionaryDataSelect']>
+ readonly useGetDictionaryCategorySelect: UnwrapRef<typeof import('./src/hooks/dic')['useGetDictionaryCategorySelect']>
readonly useGlobalEventContext: UnwrapRef<typeof import('./src/hooks/useEvent')['useGlobalEventContext']>
readonly useGlobalEventProvide: UnwrapRef<typeof import('./src/hooks/useEvent')['useGlobalEventProvide']>
readonly useGroupColumns: UnwrapRef<typeof import('./src/hooks/useAccess')['useGroupColumns']>
diff --git a/src/components/WeMap/WeMap.vue b/src/components/WeMap/WeMap.vue
index 8706d7c..631ed7a 100644
--- a/src/components/WeMap/WeMap.vue
+++ b/src/components/WeMap/WeMap.vue
@@ -87,6 +87,7 @@
cityCode: findAreaCodeFromName(cityName),
countyCode: findAreaCodeFromName(countyName),
address: loc.poiaddress,
+ addressName: loc.poiname,
});
if (props.validateEvent) {
formItem?.validate?.('change');
diff --git a/src/constants/apiEnum.ts b/src/constants/apiEnum.ts
index f1a06ac..d4ebf8b 100644
--- a/src/constants/apiEnum.ts
+++ b/src/constants/apiEnum.ts
@@ -1,6 +1,18 @@
/* eslint-disable */
// @ts-ignore
+/** 璁¤垂鏂瑰紡 */
+export enum EnumBillingMethod {
+ /**鎸夋湀 */
+ Month = 10,
+ /**鎸夊ぉ */
+ Day = 20,
+ /**鎸夋椂 */
+ Hour = 30,
+ /**璁′欢 */
+ Piece = 40,
+}
+
/** 瀹㈡埛绔被鍨� */
export enum EnumClientType {
/**鐢佃剳缃戦〉 */
@@ -53,18 +65,20 @@
export enum EnumResourceController {
/**鏁版嵁瀛楀吀 */
Dictionary = 0,
+ /**浠诲姟 */
+ Task = 1,
/**鐢ㄦ埛璁よ瘉 */
- Auth = 1,
+ Auth = 2,
/**鐢ㄦ埛鑿滃崟 */
- Menu = 2,
+ Menu = 3,
/**鐢ㄦ埛璧勬簮 */
- Resource = 3,
+ Resource = 4,
/**鐢ㄦ埛瑙掕壊 */
- Role = 4,
+ Role = 5,
/**鐢ㄦ埛淇℃伅 */
- UserInfo = 5,
+ User = 6,
/**浼佷笟淇℃伅 */
- Enterprise = 6,
+ Enterprise = 7,
}
/** 璧勬簮璇锋眰鏂瑰紡 */
@@ -95,14 +109,86 @@
All = 999,
}
+/** 缁撶畻鍛ㄦ湡 */
+export enum EnumSettlementCycle {
+ /**鏈堢粨 */
+ Month = 10,
+ /**鍛ㄧ粨 */
+ Week = 20,
+ /**鏃ョ粨 */
+ Day = 30,
+}
+
/** 鐭俊閫氶亾 */
export enum EnumSmsAccess {
/**闃块噷浜戠煭淇� */
AliyunSms = 10,
}
+/** 鐭俊妯℃澘绫诲瀷 */
+export enum EnumSmsTemplateType {
+ /**鐧诲綍 */
+ Login = 0,
+ /**娉ㄥ唽 */
+ Register = 1,
+ /**淇敼瀵嗙爜 */
+ UpdatePassword = 2,
+ /**缁戝畾鎵嬫満鍙风爜 */
+ BindPhoneNumber = 3,
+ /**淇敼鎵嬫満鍙风爜 */
+ UpdatePhoneNumber = 4,
+}
+
+/** 浠诲姟缁撶畻鐘舵�� */
+export enum EnumTaskCheckReceiveStatus {
+ /**寰呴獙鏀� */
+ Wait = 10,
+ /**宸查獙鏀� */
+ Completed = 30,
+}
+
+/** 浠诲姟鎺ㄨ崘鐘舵�� */
+export enum EnumTaskRecommendStatus {
+ /**鏈帹鑽� */
+ No = 10,
+ /**宸叉帹鑽� */
+ Yes = 20,
+}
+
+/** 浠诲姟鍙戝竷鐘舵�� */
+export enum EnumTaskReleaseStatus {
+ /**鍙戝竷涓� */
+ InProcess = 20,
+ /**宸插仠姝� */
+ Stopped = 100,
+}
+
+/** 浠诲姟缁撶畻鐘舵�� */
+export enum EnumTaskSettlementStatus {
+ /**寰呯粨绠� */
+ Wait = 10,
+ /**宸茬粨绠� */
+ Completed = 30,
+}
+
+/** 浠诲姟瀹夋帓鐘舵�� */
+export enum EnumTaskStatus {
+ /**寰呭畨鎺� */
+ Wait = 10,
+ /**宸插畨鎺� */
+ Complete = 20,
+}
+
+/** 鐢ㄦ埛鎬у埆 */
+export enum EnumUserGender {
+ /**鐢� */
+ Male = 10,
+ /**濂� */
+ Female = 20,
+}
+
/** 鐢ㄦ埛淇℃伅鐘舵�� */
-export enum EnumUserInfoStatus {
+export enum EnumUserStatus {
/**姝e父 */
Normal = 10,
/**绂佺敤 */
diff --git a/src/constants/dic.ts b/src/constants/dic.ts
new file mode 100644
index 0000000..41e3e90
--- /dev/null
+++ b/src/constants/dic.ts
@@ -0,0 +1,60 @@
+export enum CategoryCode {
+ /**韬唤 */
+ Identity = '10',
+ /**瀛﹀巻 */
+ Education = '20',
+ /**宀椾綅 */
+ Position = '30',
+ /**璇佷功绫诲瀷 */
+ CertificateType = '40',
+ /**绂忓埄 */
+ Welfare = '50',
+ /**琛屼笟绫诲瀷 */
+ IndustryCategory = '60',
+ /**琛屾斂鍦板尯 */
+ Area = '70',
+}
+
+export enum IdentityCodeEnum {
+ /**瀛︾敓 */
+ Student = '10-10',
+ /**闈炲鐢� */
+ NotStudent = '10-20',
+}
+
+export enum EducationCodeEnum {
+ /**鍒濅腑浠ヤ笅 */
+ UnderPrimarySchool = '20-10',
+ /**鍒濅腑 */
+ PrimarySchool = '20-20',
+ /**楂樹腑 */
+ HighSchool = '20-30',
+ /**涓笓 */
+ JuniorCollege = '20-40',
+ /**鎶�鏍� */
+ TechnicalSchool = '20-50',
+ /**涓亴 */
+ JuniorHighSchool = '20-60',
+ /**楂樿亴 */
+ SeniorHighSchool = '20-70',
+ /**鏈 */
+ Undergraduate = '20-80',
+ /**鏈浠ヤ笂 */
+ UndergraduateAndAbove = '20-90',
+}
+
+export enum CertificateTypeCodeEnum {
+ /**鍋ュ悍璇� */
+ HealthCertificate = '40-10',
+}
+
+export enum WelfareCodeEnum {
+ /**鍖呴 */
+ Meal = '50-10',
+ /**鍖呬綇瀹� */
+ Accommodation = '50-20',
+ /**浜ら�氳ˉ璐� */
+ TransportationSubsidies = '50-30',
+ /**楂樻俯琛ヨ创 */
+ HighTemperatureSubsidies = '50-40',
+}
diff --git a/src/constants/index.ts b/src/constants/index.ts
index f3951d7..b580961 100644
--- a/src/constants/index.ts
+++ b/src/constants/index.ts
@@ -10,3 +10,4 @@
export * from './app';
export * from './apiEnum';
export * from './apiEnumText';
+export * from './task';
diff --git a/src/constants/task.ts b/src/constants/task.ts
new file mode 100644
index 0000000..63a20ac
--- /dev/null
+++ b/src/constants/task.ts
@@ -0,0 +1,49 @@
+export const EnumTaskStatusText = {
+ [EnumTaskStatus.Wait]: '寰呭畨鎺�',
+ [EnumTaskStatus.Complete]: '宸插畨鎺�',
+};
+
+export const EnumSettlementCycleText = {
+ [EnumSettlementCycle.Month]: '鏈堢粨',
+ [EnumSettlementCycle.Week]: '鍛ㄧ粨',
+ [EnumSettlementCycle.Day]: '鏃ョ粨',
+};
+
+export const EnumTaskReleaseStatusText = {
+ [EnumTaskReleaseStatus.InProcess]: '鍙戝竷涓�',
+ [EnumTaskReleaseStatus.Stopped]: '宸插仠姝�',
+};
+export const EnumTaskReleaseStatusTextForTip = {
+ [EnumTaskReleaseStatus.InProcess]: '鍙戝竷',
+ [EnumTaskReleaseStatus.Stopped]: '鍋滄鍙戝竷',
+};
+
+export const EnumTaskRecommendStatusText = {
+ [EnumTaskRecommendStatus.No]: '鏈帹鑽�',
+ [EnumTaskRecommendStatus.Yes]: '宸叉帹鑽�',
+};
+
+export const EnumBillingMethodText = {
+ [EnumBillingMethod.Month]: '鎸夋湀',
+ [EnumBillingMethod.Day]: '鎸夋棩',
+ [EnumBillingMethod.Hour]: '鎸夋椂',
+ [EnumBillingMethod.Piece]: '璁′欢',
+};
+
+export const EnumBillingMethodUnitText = {
+ [EnumBillingMethod.Month]: '鍏�/鏈�',
+ [EnumBillingMethod.Day]: '鍏�/鏃�',
+ [EnumBillingMethod.Hour]: '鍏�/灏忔椂',
+ [EnumBillingMethod.Piece]: '鍏�/浠�',
+};
+
+export const EnumUserGenderText = {
+ [0]: '涓嶉檺',
+ [EnumUserGender.Male]: '鐢锋��',
+ [EnumUserGender.Female]: '濂虫��',
+};
+
+export const EnumUserGenderTextForEdit = {
+ [EnumUserGender.Male]: '浠呴檺鐢锋��',
+ [EnumUserGender.Female]: '浠呴檺濂虫��',
+};
diff --git a/src/hooks/area.ts b/src/hooks/area.ts
deleted file mode 100644
index f965742..0000000
--- a/src/hooks/area.ts
+++ /dev/null
@@ -1,192 +0,0 @@
-// import { useAreaStore } from '@/store/modules/area';
-// import { AreaType } from '@/constants';
-// import { CascaderProps } from 'element-plus';
-// import { splitAreaTree } from '@/utils';
-
-// /**
-// * 鑾峰彇瀹屾暣鐨勫湴鍖烘暟鎹爲
-// */
-// export function useCompleteArea() {
-// const useArea = useAreaStore();
-// const { completeAreaTree } = storeToRefs(useArea);
-
-// onMounted(() => {
-// useArea.getCompleteAreaTree();
-// });
-
-// const areaTreeProps = {
-// children: 'children',
-// label: 'areaName',
-// value: 'areaCode',
-// };
-
-// return {
-// areaTree: completeAreaTree,
-// areaTreeProps,
-// getAreaTree: useArea.getCompleteAreaTree,
-// getAreaNameByAreaCodeWithParentName: useArea.getAreaNameByAreaCodeWithParentName,
-// };
-// }
-
-// type UseAreaByCascaderOptions = {
-// layer?: AreaType;
-// };
-
-// /**
-// * @description 鑱旂骇閫夋嫨涓娇鐢�
-// */
-// export function useAreaByCascader(options: UseAreaByCascaderOptions = {}) {
-// const { layer = AreaType.Area } = options;
-
-// const areaStore = useAreaStore();
-
-// // const { completeAreaList } = storeToRefs(areaStore);
-
-// // onMounted(() => {
-// // areaStore.getCompleteAreaTree();
-// // });
-
-// return computed(() => ({
-// // options: layer
-// // ? (formatAreaListToTree(completeAreaList.value, 0, layer) as any[])
-// // : completeAreaTree.value,
-// // props: {
-// // label: 'areaName',
-// // value: 'areaCode',
-// // },
-// props: {
-// label: 'areaName',
-// value: 'areaCode',
-// lazy: true,
-// async lazyLoad(node, resolve) {
-// const { level, data } = node;
-// const completeAreaList = await areaStore.getCompleteAreaTree();
-// let areas = completeAreaList.filter((x) =>
-// level ? x.parentCode === data.areaCode : !x.parentCode
-// );
-// return resolve(
-// areas.map((x) => ({
-// ...x,
-// leaf: x.layer >= layer,
-// }))
-// );
-// },
-// } as CascaderProps,
-// }));
-// }
-
-// export type UseAllAreaListOptions = {
-// immediate?: boolean;
-// };
-
-// export function useAllAreaList(options: UseAllAreaListOptions = {}) {
-// const { immediate = true } = options;
-// const areaStore = useAreaStore();
-
-// onMounted(() => {
-// if (immediate) {
-// areaStore.getCompleteAreaTree();
-// }
-// });
-
-// const findAreaCodeFromName = (areaName: string) => {
-// const areaItem = areaStore.completeAreaList.find((x) => x.areaName === areaName);
-// return areaItem?.areaCode ?? 0;
-// };
-
-// const findAreaNameFromCode = (areaCode: number) => {
-// const areaItem = areaStore.completeAreaList.find((x) => x.areaCode === areaCode);
-// return areaItem?.areaName ?? '';
-// };
-
-// const findAreaItemFromCode = (areaCode: number) => {
-// const areaItem = areaStore.completeAreaList.find((x) => x.areaCode === areaCode);
-// return areaItem;
-// };
-
-// return {
-// findAreaCodeFromName,
-// findAreaNameFromCode,
-// findAreaItemFromCode,
-// };
-// }
-
-// export function useProvinceList() {
-// const areaStore = useAreaStore();
-
-// const { provinceList } = storeToRefs(areaStore);
-
-// onMounted(() => {
-// areaStore.getCompleteAreaTree();
-// });
-
-// return {
-// provinceList,
-// };
-// }
-
-// type UseAreaByTreeSelectOptions = {
-// maxLevel?: number;
-// };
-
-// export function useAreaByTreeSelect(options: UseAreaByTreeSelectOptions = {}) {
-// const { maxLevel = 2 } = options;
-// const useArea = useAreaStore();
-// const { completeAreaTree } = storeToRefs(useArea);
-
-// onMounted(() => {
-// useArea.getCompleteAreaTree();
-// });
-
-// const areaTree = computed(() => splitAreaTree(completeAreaTree.value, maxLevel));
-
-// const treeSelectProps = computed(() => ({
-// data: areaTree.value,
-// props: {
-// label: 'areaName',
-// children: 'children',
-// isLeaf: 'leaf',
-// },
-// renderAfterExpand: false,
-// valueKey: 'areaCode',
-// }));
-
-// return {
-// treeSelectProps: treeSelectProps,
-// areaTree,
-// };
-// }
-
-// export function useAreaSelect(provinceId: Ref<number>, cityId: Ref<number>, countyId: Ref<number>) {
-// const useArea = useAreaStore();
-// const { completeAreaList } = storeToRefs(useArea);
-
-// const { provinceList } = useProvinceList();
-
-// watch(provinceId, async () => {
-// await nextTick();
-// if (cityList.value.every((city) => city.areaCode !== cityId.value)) {
-// cityId.value = '' as any as number;
-// }
-// });
-
-// watch(cityId, async () => {
-// await nextTick();
-// if (countyList.value.every((area) => area.areaCode !== countyId.value)) {
-// countyId.value = '' as any as number;
-// }
-// });
-
-// const cityList = computed(() =>
-// completeAreaList.value.filter((x) => x.parentCode === provinceId.value)
-// );
-// const countyList = computed(() =>
-// completeAreaList.value.filter((x) => x.parentCode === cityId.value)
-// );
-
-// return {
-// provinceList: provinceList,
-// cityList: cityList,
-// countyList: countyList,
-// };
-// }
diff --git a/src/hooks/dic.ts b/src/hooks/dic.ts
index e69de29..bd004f1 100644
--- a/src/hooks/dic.ts
+++ b/src/hooks/dic.ts
@@ -0,0 +1,252 @@
+import { useQuery, useQueryClient } from '@tanstack/vue-query';
+import * as dictionaryServices from '@/services/api/dictionary';
+import { formatAreaListToTree } from '@/utils';
+import { CascaderProps } from 'element-plus';
+
+export function useGetDictionaryCategorySelect() {
+ const { data: dictionaryCategoryList, refetch } = useQuery({
+ queryKey: ['dictionaryServices/getDictionaryCategorySelect'],
+ queryFn: async () => {
+ let res = await dictionaryServices.getDictionaryCategorySelect({}, { showLoading: false });
+ return res.map((x) => ({
+ ...x,
+ fieldNamesMap: x.data.fieldNames ? JSON.parse(x.data.fieldNames) : {},
+ }));
+ },
+ placeholderData: () => [] as API.SelectOptionGuidGetDictionaryCategorySelectQueryOption[],
+ });
+
+ const queryClient = useQueryClient();
+
+ function ensureQueryData() {
+ return queryClient.ensureQueryData<
+ API.SelectOptionGuidGetDictionaryCategorySelectQueryOption[]
+ >({
+ queryKey: ['dictionaryServices/getDictionaryCategorySelect'],
+ });
+ }
+
+ function updateDictionaryCategorySelect() {
+ queryClient.invalidateQueries({
+ queryKey: ['dictionaryServices/getDictionaryCategorySelect'],
+ });
+ }
+
+ function getDictionaryCategoryById(id: string) {
+ return dictionaryCategoryList.value.find((x) => x.data?.id === id);
+ }
+
+ function getDictionaryCategoryByCode(code: string) {
+ return dictionaryCategoryList.value.find((x) => x.data?.code === code);
+ }
+
+ function getDictionaryCategoryNameByCode(code: string) {
+ return getDictionaryCategoryByCode(code)?.label ?? '';
+ }
+
+ return {
+ dictionaryCategoryList,
+ ensureQueryData,
+ getDictionaryCategoryById,
+ getDictionaryCategoryNameByCode,
+ getDictionaryCategoryByCode,
+ updateDictionaryCategorySelect,
+ };
+}
+
+type UseDictionaryDataSelectOptions = {
+ categoryId?: MaybeRef<string>;
+ categoryCode?: MaybeRef<CategoryCode>;
+ parentId?: MaybeRef<string>;
+ staleTime?: number;
+ /** 鍏抽敭瀛� */
+ keywords?: MaybeRef<string>;
+ /** 鏌ヨ鎵�鏈� */
+ all?: MaybeRef<boolean>;
+ maxDeep?: number;
+};
+
+export function useDictionaryDataSelect({
+ categoryId,
+ categoryCode,
+ parentId,
+ staleTime,
+ keywords,
+ all,
+ maxDeep,
+}: UseDictionaryDataSelectOptions) {
+ const params = computed(() => ({
+ categoryId: unref(categoryId),
+ categoryCode: unref(categoryCode),
+ parentId: unref(parentId),
+ keywords: unref(keywords),
+ all: unref(all),
+ maxDeep: maxDeep,
+ }));
+ const { data: dictionaryDataList, refetch } = useQuery({
+ queryKey: ['dictionaryServices/getDictionaryDataSelect', params],
+ queryFn: async () => {
+ let res = await dictionaryServices.getDictionaryDataSelect(params.value, {
+ showLoading: false,
+ });
+ return res.map((x) => ({
+ ...x,
+ code: x.data?.code ?? '',
+ }));
+ },
+ placeholderData: () => [] as API.SelectOptionStringGetDictionaryDataSelectQueryResultOption[],
+ staleTime,
+ });
+
+ function getDictionaryDataNameById(id: string) {
+ return dictionaryDataList.value?.find((x) => x.data?.id === id)?.label;
+ }
+
+ function getDictionaryDataByCode(code: string) {
+ return dictionaryDataList.value?.find((x) => x.data?.code === code);
+ }
+
+ function getDictionaryDataNameByCode(code: string) {
+ return getDictionaryDataByCode(code)?.label ?? '';
+ }
+
+ const queryClient = useQueryClient();
+
+ function ensureQueryData() {
+ return queryClient.ensureQueryData<
+ API.SelectOptionStringGetDictionaryDataSelectQueryResultOption[]
+ >({
+ queryKey: ['dictionaryServices/getDictionaryDataSelect'],
+ });
+ }
+
+ function updateDictionaryDataSelect(categoryId?: string) {
+ queryClient.invalidateQueries({
+ queryKey: ['dictionaryServices/getDictionaryDataSelect'],
+ });
+ }
+
+ return {
+ dictionaryDataList,
+ ensureQueryData,
+ refetch,
+ getDictionaryDataNameById,
+ getDictionaryDataNameByCode,
+ getDictionaryDataByCode,
+ updateDictionaryDataSelect,
+ };
+}
+
+export function useArea() {
+ const queryClient = useQueryClient();
+
+ function getAreaList(parentId = '') {
+ const params = {
+ categoryCode: CategoryCode.Area,
+ parentId: parentId,
+ };
+ return queryClient.fetchQuery({
+ queryKey: ['dictionaryServices/getDictionaryDataSelect', params],
+ queryFn: async () => {
+ let res = await dictionaryServices.getDictionaryDataSelect(params, { showLoading: false });
+ return res.map(convertDictionaryToAreaTreeNode);
+ },
+ staleTime: Infinity,
+ });
+ }
+
+ return { getAreaList };
+}
+
+function convertDictionaryToAreaTreeNode(
+ item: API.SelectOptionStringGetDictionaryDataSelectQueryResultOption
+) {
+ return {
+ children: [],
+ areaCode: item.data?.code,
+ parentCode: '',
+ areaName: item.label,
+ layer: Number(item.data?.field4),
+ sort: item.data?.sort,
+ id: item.data?.id,
+ } as API.AreaTreeNode;
+}
+
+/**
+ *
+ * @description 鏆傛椂鏃犳硶浣跨敤
+ */
+export function useAllAreaList() {
+ const { dictionaryDataList } = useDictionaryDataSelect({
+ categoryCode: CategoryCode.Area,
+ staleTime: Infinity,
+ all: true,
+ maxDeep: AreaType.Area,
+ });
+
+ const areaList = computed(() => dictionaryDataList.value.map(convertDictionaryToAreaTreeNode));
+
+ const areaTreeProps = {
+ children: 'children',
+ label: 'areaName',
+ value: 'areaCode',
+ };
+
+ const areaTree = computed(() => formatAreaListToTree(areaList.value));
+
+ const findAreaCodeFromName = (areaName: string) => {
+ const areaItem = areaList.value.find((x) => x.areaName === areaName);
+ return areaItem?.areaCode ?? '';
+ };
+
+ const findAreaNameFromCode = (areaCode: string) => {
+ const areaItem = areaList.value.find((x) => x.areaCode === areaCode);
+ return areaItem?.areaName ?? '';
+ };
+
+ const findAreaItemFromCode = (areaCode: string) => {
+ const areaItem = areaList.value.find((x) => x.areaCode === areaCode);
+ return areaItem;
+ };
+
+ return {
+ areaList,
+ areaTree,
+ areaTreeProps,
+ findAreaCodeFromName,
+ findAreaNameFromCode,
+ findAreaItemFromCode,
+ };
+}
+
+type UseAreaByCascaderOptions = {
+ layer?: AreaType;
+};
+
+/**
+ * @description 鑱旂骇閫夋嫨涓娇鐢�
+ */
+export function useAreaByCascader(options: UseAreaByCascaderOptions = {}) {
+ const { layer = AreaType.Area } = options;
+
+ const { getAreaList } = useArea();
+
+ return computed(() => ({
+ props: {
+ label: 'areaName',
+ value: 'areaCode',
+ lazy: true,
+ async lazyLoad(node, resolve) {
+ const { level, data } = node;
+ const areas = (await getAreaList((data as API.AreaTreeNode).id)) as any[];
+
+ return resolve(
+ areas.map((x) => ({
+ ...x,
+ leaf: x.layer >= layer,
+ }))
+ );
+ },
+ } as CascaderProps,
+ }));
+}
diff --git a/src/hooks/index.ts b/src/hooks/index.ts
index 57acf39..a069d7c 100644
--- a/src/hooks/index.ts
+++ b/src/hooks/index.ts
@@ -7,4 +7,4 @@
export * from './useUser';
export * from './help';
export * from './menu';
-// export * from './dic';
+export * from './dic';
diff --git a/src/services/api/auth.ts b/src/services/api/auth.ts
index 543ccd0..00b5ddb 100644
--- a/src/services/api/auth.ts
+++ b/src/services/api/auth.ts
@@ -62,3 +62,15 @@
...(options || {}),
});
}
+
+/** 鍙戦�侀獙璇佺爜 POST /api/user/auth/sendVerifyCode */
+export async function sendVerifyCode(body: API.SendVerifyCodeCommand, options?: API.RequestConfig) {
+ return request<string>('/api/user/auth/sendVerifyCode', {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json-patch+json',
+ },
+ data: body,
+ ...(options || {}),
+ });
+}
diff --git a/src/services/api/dictionary.ts b/src/services/api/dictionary.ts
index 22cee24..4c74b85 100644
--- a/src/services/api/dictionary.ts
+++ b/src/services/api/dictionary.ts
@@ -2,12 +2,12 @@
// @ts-ignore
import { request } from '@/utils/request';
-/** 鍒犻櫎鏁版嵁瀛楀吀绫诲埆 DELETE /api/main/dictionary/deleteDictionaryCategory */
+/** 鍒犻櫎鏁版嵁瀛楀吀绫诲埆 DELETE /api/flexjob/dictionary/deleteDictionaryCategory */
export async function deleteDictionaryCategory(
body: API.DeleteDictionaryCategoryCommand,
options?: API.RequestConfig
) {
- return request<number>('/api/main/dictionary/deleteDictionaryCategory', {
+ return request<number>('/api/flexjob/dictionary/deleteDictionaryCategory', {
method: 'DELETE',
headers: {
'Content-Type': 'application/json-patch+json',
@@ -17,13 +17,13 @@
});
}
-/** 鑾峰彇鏁版嵁瀛楀吀绫诲埆鍒嗛〉鍒楄〃鏁版嵁 POST /api/main/dictionary/getDictionaryCategories */
+/** 鑾峰彇鏁版嵁瀛楀吀绫诲埆鍒嗛〉鍒楄〃鏁版嵁 POST /api/flexjob/dictionary/getDictionaryCategories */
export async function getDictionaryCategories(
body: API.GetDictionaryCategoriesQuery,
options?: API.RequestConfig
) {
return request<API.PagedListQueryResultGetDictionaryCategoriesQueryResultItem>(
- '/api/main/dictionary/getDictionaryCategories',
+ '/api/flexjob/dictionary/getDictionaryCategories',
{
method: 'POST',
headers: {
@@ -35,14 +35,14 @@
);
}
-/** 鏌ヨ鏁版嵁瀛楀吀绫诲埆閫夋嫨鍣ㄦ暟鎹� GET /api/main/dictionary/getDictionaryCategorySelect */
+/** 鏌ヨ鏁版嵁瀛楀吀绫诲埆閫夋嫨鍣ㄦ暟鎹� GET /api/flexjob/dictionary/getDictionaryCategorySelect */
export async function getDictionaryCategorySelect(
// 鍙犲姞鐢熸垚鐨凱aram绫诲瀷 (闈瀊ody鍙傛暟swagger榛樿娌℃湁鐢熸垚瀵硅薄)
params: API.APIgetDictionaryCategorySelectParams,
options?: API.RequestConfig
) {
- return request<API.SelectQueryResultOptionGuidGetDictionaryCategorySelectQueryOption[]>(
- '/api/main/dictionary/getDictionaryCategorySelect',
+ return request<API.SelectOptionGuidGetDictionaryCategorySelectQueryOption[]>(
+ '/api/flexjob/dictionary/getDictionaryCategorySelect',
{
method: 'GET',
params: {
@@ -55,13 +55,13 @@
);
}
-/** 鑾峰彇鏁版嵁瀛楀吀鍒嗛〉鍒楄〃鏁版嵁 POST /api/main/dictionary/getDictionaryDatas */
+/** 鑾峰彇鏁版嵁瀛楀吀鍒嗛〉鍒楄〃鏁版嵁 POST /api/flexjob/dictionary/getDictionaryDatas */
export async function getDictionaryDatas(
body: API.GetDictionaryDatasQuery,
options?: API.RequestConfig
) {
return request<API.PagedListQueryResultGetDictionaryDatasQueryResultItem>(
- '/api/main/dictionary/getDictionaryDatas',
+ '/api/flexjob/dictionary/getDictionaryDatas',
{
method: 'POST',
headers: {
@@ -73,14 +73,14 @@
);
}
-/** 鏌ヨ鏁版嵁瀛楀吀閫夋嫨鍣� GET /api/main/dictionary/getDictionaryDataSelect */
+/** 鏌ヨ鏁版嵁瀛楀吀閫夋嫨鍣� GET /api/flexjob/dictionary/getDictionaryDataSelect */
export async function getDictionaryDataSelect(
// 鍙犲姞鐢熸垚鐨凱aram绫诲瀷 (闈瀊ody鍙傛暟swagger榛樿娌℃湁鐢熸垚瀵硅薄)
params: API.APIgetDictionaryDataSelectParams,
options?: API.RequestConfig
) {
- return request<API.SelectQueryResultOptionGuidGetDictionaryDataSelectQueryResultOption[]>(
- '/api/main/dictionary/getDictionaryDataSelect',
+ return request<API.SelectOptionStringGetDictionaryDataSelectQueryResultOption[]>(
+ '/api/flexjob/dictionary/getDictionaryDataSelect',
{
method: 'GET',
params: {
@@ -91,12 +91,12 @@
);
}
-/** 淇濆瓨鏁版嵁瀛楀吀绫诲埆 POST /api/main/dictionary/saveDictionaryCategory */
+/** 淇濆瓨鏁版嵁瀛楀吀绫诲埆 POST /api/flexjob/dictionary/saveDictionaryCategory */
export async function saveDictionaryCategory(
body: API.SaveDictionaryCategoryCommand,
options?: API.RequestConfig
) {
- return request<string>('/api/main/dictionary/saveDictionaryCategory', {
+ return request<string>('/api/flexjob/dictionary/saveDictionaryCategory', {
method: 'POST',
headers: {
'Content-Type': 'application/json-patch+json',
@@ -106,12 +106,12 @@
});
}
-/** 淇濆瓨鏁版嵁瀛楀吀 POST /api/main/dictionary/saveDictionaryData */
+/** 淇濆瓨鏁版嵁瀛楀吀 POST /api/flexjob/dictionary/saveDictionaryData */
export async function saveDictionaryData(
body: API.SaveDictionaryDataCommand,
options?: API.RequestConfig
) {
- return request<string>('/api/main/dictionary/saveDictionaryData', {
+ return request<string>('/api/flexjob/dictionary/saveDictionaryData', {
method: 'POST',
headers: {
'Content-Type': 'application/json-patch+json',
@@ -121,12 +121,12 @@
});
}
-/** 璁剧疆鏁版嵁瀛楀吀鏄惁绂佺敤 PUT /api/main/dictionary/setDictionaryDataIsDisabled */
+/** 璁剧疆鏁版嵁瀛楀吀鏄惁绂佺敤 PUT /api/flexjob/dictionary/setDictionaryDataIsDisabled */
export async function setDictionaryDataIsDisabled(
body: API.SetDictionaryDataIsDisabledCommand,
options?: API.RequestConfig
) {
- return request<number>('/api/main/dictionary/setDictionaryDataIsDisabled', {
+ return request<number>('/api/flexjob/dictionary/setDictionaryDataIsDisabled', {
method: 'PUT',
headers: {
'Content-Type': 'application/json-patch+json',
@@ -135,3 +135,18 @@
...(options || {}),
});
}
+
+/** 鍚屾浜哄姏璧勬簮鍦板尯瀛楀吀鏁版嵁 POST /api/flexjob/dictionary/syncHumanResourcesAreaDictionaryData */
+export async function syncHumanResourcesAreaDictionaryData(
+ body: API.SyncHumanResourcesAreaDictionaryDataCommand,
+ options?: API.RequestConfig
+) {
+ return request<number>('/api/flexjob/dictionary/syncHumanResourcesAreaDictionaryData', {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json-patch+json',
+ },
+ data: body,
+ ...(options || {}),
+ });
+}
diff --git a/src/services/api/index.ts b/src/services/api/index.ts
index 1f801d3..dcda25c 100644
--- a/src/services/api/index.ts
+++ b/src/services/api/index.ts
@@ -2,19 +2,21 @@
/* eslint-disable */
// API 鏇存柊鏃堕棿锛�
// API 鍞竴鏍囪瘑锛�
-import * as auth from './auth';
-import * as menu from './menu';
import * as dictionary from './dictionary';
-import * as resource from './resource';
-import * as role from './role';
-import * as userInfo from './userInfo';
+import * as menu from './menu';
import * as enterprise from './enterprise';
+import * as task from './task';
+import * as auth from './auth';
+import * as user from './user';
+import * as role from './role';
+import * as resource from './resource';
export default {
- auth,
- menu,
dictionary,
- resource,
- role,
- userInfo,
+ menu,
enterprise,
+ task,
+ auth,
+ user,
+ role,
+ resource,
};
diff --git a/src/services/api/task.ts b/src/services/api/task.ts
new file mode 100644
index 0000000..23c1be7
--- /dev/null
+++ b/src/services/api/task.ts
@@ -0,0 +1,75 @@
+/* eslint-disable */
+// @ts-ignore
+import { request } from '@/utils/request';
+
+/** 鏌ヨ浠诲姟璇︽儏 GET /api/flexjob/task/getTaskInfo */
+export async function getTaskInfo(
+ // 鍙犲姞鐢熸垚鐨凱aram绫诲瀷 (闈瀊ody鍙傛暟swagger榛樿娌℃湁鐢熸垚瀵硅薄)
+ params: API.APIgetTaskInfoParams,
+ options?: API.RequestConfig
+) {
+ return request<API.GetTaskInfoQueryResult>('/api/flexjob/task/getTaskInfo', {
+ method: 'GET',
+ params: {
+ ...params,
+ },
+ ...(options || {}),
+ });
+}
+
+/** 鏌ヨ浠诲姟鍒嗛〉鍒楄〃 POST /api/flexjob/task/getTaskInfos */
+export async function getTaskInfos(body: API.GetTaskInfosQuery, options?: API.RequestConfig) {
+ return request<API.PagedListQueryResultGetTaskInfosQueryResultItem>(
+ '/api/flexjob/task/getTaskInfos',
+ {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json-patch+json',
+ },
+ data: body,
+ ...(options || {}),
+ }
+ );
+}
+
+/** 淇濆瓨浠诲姟 POST /api/flexjob/task/saveTaskInfo */
+export async function saveTaskInfo(body: API.SaveTaskInfoCommand, options?: API.RequestConfig) {
+ return request<string>('/api/flexjob/task/saveTaskInfo', {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json-patch+json',
+ },
+ data: body,
+ ...(options || {}),
+ });
+}
+
+/** 璁剧疆浠诲姟鏄惁鎺ㄨ崘 PUT /api/flexjob/task/setTaskInfoRecommendStatus */
+export async function setTaskInfoRecommendStatus(
+ body: API.SetTaskInfoRecommendStatusCommand,
+ options?: API.RequestConfig
+) {
+ return request<number>('/api/flexjob/task/setTaskInfoRecommendStatus', {
+ method: 'PUT',
+ headers: {
+ 'Content-Type': 'application/json-patch+json',
+ },
+ data: body,
+ ...(options || {}),
+ });
+}
+
+/** 璁剧疆浠诲姟鍙戝竷鐘舵�� PUT /api/flexjob/task/setTaskInfoReleaseStatus */
+export async function setTaskInfoReleaseStatus(
+ body: API.SetTaskInfoReleaseStatusCommand,
+ options?: API.RequestConfig
+) {
+ return request<number>('/api/flexjob/task/setTaskInfoReleaseStatus', {
+ method: 'PUT',
+ headers: {
+ 'Content-Type': 'application/json-patch+json',
+ },
+ data: body,
+ ...(options || {}),
+ });
+}
diff --git a/src/services/api/typings.d.ts b/src/services/api/typings.d.ts
index fb57219..5324984 100644
--- a/src/services/api/typings.d.ts
+++ b/src/services/api/typings.d.ts
@@ -30,6 +30,12 @@
categoryCode?: string;
/** 涓婄骇Id */
parentId?: string;
+ /** 鍏抽敭瀛� */
+ keywords?: string;
+ /** 鏌ヨ鎵�鏈� */
+ all?: boolean;
+ /** 鏈�澶ф繁搴� */
+ maxDeep?: number;
}
interface APIgetEnterpriseElectronSignSettingParams {
@@ -87,11 +93,21 @@
roleId?: string;
}
+ interface APIgetTaskInfoParams {
+ /** Id */
+ id?: string;
+ }
+
interface APIgetUserInfoRolesParams {
/** 鐢ㄦ埛Id */
userInfoId?: string;
/** 瀹㈡埛绔被鍨� */
clientType?: EnumClientType;
+ }
+
+ interface APIgetUserResumeParams {
+ /** 鐢ㄦ埛Id */
+ userId?: string;
}
interface DeleteDictionaryCategoryCommand {
@@ -104,6 +120,17 @@
interface DeleteRoleCommand {
ids: string[];
+ }
+
+ enum EnumBillingMethod {
+ /**鎸夋湀 */
+ Month = 10,
+ /**鎸夊ぉ */
+ Day = 20,
+ /**鎸夋椂 */
+ Hour = 30,
+ /**璁′欢 */
+ Piece = 40,
}
enum EnumClientType {
@@ -152,18 +179,20 @@
enum EnumResourceController {
/**鏁版嵁瀛楀吀 */
Dictionary = 0,
+ /**浠诲姟 */
+ Task = 1,
/**鐢ㄦ埛璁よ瘉 */
- Auth = 1,
+ Auth = 2,
/**鐢ㄦ埛鑿滃崟 */
- Menu = 2,
+ Menu = 3,
/**鐢ㄦ埛璧勬簮 */
- Resource = 3,
+ Resource = 4,
/**鐢ㄦ埛瑙掕壊 */
- Role = 4,
+ Role = 5,
/**鐢ㄦ埛淇℃伅 */
- UserInfo = 5,
+ User = 6,
/**浼佷笟淇℃伅 */
- Enterprise = 6,
+ Enterprise = 7,
}
enum EnumResourceMethod {
@@ -192,12 +221,76 @@
All = 999,
}
+ enum EnumSettlementCycle {
+ /**鏈堢粨 */
+ Month = 10,
+ /**鍛ㄧ粨 */
+ Week = 20,
+ /**鏃ョ粨 */
+ Day = 30,
+ }
+
enum EnumSmsAccess {
/**闃块噷浜戠煭淇� */
AliyunSms = 10,
}
- enum EnumUserInfoStatus {
+ enum EnumSmsTemplateType {
+ /**鐧诲綍 */
+ Login = 0,
+ /**娉ㄥ唽 */
+ Register = 1,
+ /**淇敼瀵嗙爜 */
+ UpdatePassword = 2,
+ /**缁戝畾鎵嬫満鍙风爜 */
+ BindPhoneNumber = 3,
+ /**淇敼鎵嬫満鍙风爜 */
+ UpdatePhoneNumber = 4,
+ }
+
+ enum EnumTaskCheckReceiveStatus {
+ /**寰呴獙鏀� */
+ Wait = 10,
+ /**宸查獙鏀� */
+ Completed = 30,
+ }
+
+ enum EnumTaskRecommendStatus {
+ /**鏈帹鑽� */
+ No = 10,
+ /**宸叉帹鑽� */
+ Yes = 20,
+ }
+
+ enum EnumTaskReleaseStatus {
+ /**鍙戝竷涓� */
+ InProcess = 20,
+ /**宸插仠姝� */
+ Stopped = 100,
+ }
+
+ enum EnumTaskSettlementStatus {
+ /**寰呯粨绠� */
+ Wait = 10,
+ /**宸茬粨绠� */
+ Completed = 30,
+ }
+
+ enum EnumTaskStatus {
+ /**寰呭畨鎺� */
+ Wait = 10,
+ /**宸插畨鎺� */
+ Complete = 20,
+ }
+
+ enum EnumUserGender {
+ /**鐢� */
+ Male = 10,
+ /**濂� */
+ Female = 20,
+ }
+
+ enum EnumUserStatus {
/**姝e父 */
Normal = 10,
/**绂佺敤 */
@@ -311,6 +404,42 @@
/** 閿欒鐮� */
errorCode?: string;
data?: GetRoleQueryResult;
+ /** 鎵ц鎴愬姛 */
+ success?: boolean;
+ /** 閿欒淇℃伅 */
+ msg?: any;
+ /** 闄勫姞鏁版嵁 */
+ extras?: any;
+ /** 鏃堕棿鎴� */
+ timestamp?: number;
+ }
+
+ interface FriendlyResultGetTaskInfoQueryResult {
+ /** 璺熻釜Id */
+ traceId?: string;
+ /** 鐘舵�佺爜 */
+ code?: number;
+ /** 閿欒鐮� */
+ errorCode?: string;
+ data?: GetTaskInfoQueryResult;
+ /** 鎵ц鎴愬姛 */
+ success?: boolean;
+ /** 閿欒淇℃伅 */
+ msg?: any;
+ /** 闄勫姞鏁版嵁 */
+ extras?: any;
+ /** 鏃堕棿鎴� */
+ timestamp?: number;
+ }
+
+ interface FriendlyResultGetUserResumeQueryResult {
+ /** 璺熻釜Id */
+ traceId?: string;
+ /** 鐘舵�佺爜 */
+ code?: number;
+ /** 閿欒鐮� */
+ errorCode?: string;
+ data?: GetUserResumeQueryResult;
/** 鎵ц鎴愬姛 */
success?: boolean;
/** 閿欒淇℃伅 */
@@ -454,7 +583,7 @@
timestamp?: number;
}
- interface FriendlyResultListSelectQueryResultOptionGuidGetDictionaryCategorySelectQueryOption {
+ interface FriendlyResultListSelectOptionGuidGetDictionaryCategorySelectQueryOption {
/** 璺熻釜Id */
traceId?: string;
/** 鐘舵�佺爜 */
@@ -462,7 +591,7 @@
/** 閿欒鐮� */
errorCode?: string;
/** 鏁版嵁 */
- data?: SelectQueryResultOptionGuidGetDictionaryCategorySelectQueryOption[];
+ data?: SelectOptionGuidGetDictionaryCategorySelectQueryOption[];
/** 鎵ц鎴愬姛 */
success?: boolean;
/** 閿欒淇℃伅 */
@@ -473,7 +602,7 @@
timestamp?: number;
}
- interface FriendlyResultListSelectQueryResultOptionGuidGetDictionaryDataSelectQueryResultOption {
+ interface FriendlyResultListSelectOptionStringGetDictionaryDataSelectQueryResultOption {
/** 璺熻釜Id */
traceId?: string;
/** 鐘舵�佺爜 */
@@ -481,7 +610,7 @@
/** 閿欒鐮� */
errorCode?: string;
/** 鏁版嵁 */
- data?: SelectQueryResultOptionGuidGetDictionaryDataSelectQueryResultOption[];
+ data?: SelectOptionStringGetDictionaryDataSelectQueryResultOption[];
/** 鎵ц鎴愬姛 */
success?: boolean;
/** 閿欒淇℃伅 */
@@ -582,6 +711,24 @@
timestamp?: number;
}
+ interface FriendlyResultPagedListQueryResultGetTaskInfosQueryResultItem {
+ /** 璺熻釜Id */
+ traceId?: string;
+ /** 鐘舵�佺爜 */
+ code?: number;
+ /** 閿欒鐮� */
+ errorCode?: string;
+ data?: PagedListQueryResultGetTaskInfosQueryResultItem;
+ /** 鎵ц鎴愬姛 */
+ success?: boolean;
+ /** 閿欒淇℃伅 */
+ msg?: any;
+ /** 闄勫姞鏁版嵁 */
+ extras?: any;
+ /** 鏃堕棿鎴� */
+ timestamp?: number;
+ }
+
interface FriendlyResultPasswordLoginCommandCallback {
/** 璺熻釜Id */
traceId?: string;
@@ -639,6 +786,8 @@
categoryId?: string;
/** 绫诲埆缂栧彿锛圛d/缂栧彿浜岄�変竴锛� */
categoryCode?: string;
+ /** 涓婄骇Id */
+ parentId?: string;
/** 鍏抽敭瀛� */
keywords?: string;
}
@@ -697,10 +846,16 @@
legalPerson?: string;
/** 娉曚汉韬唤璇佸彿 */
legalIdentity?: string;
+ /** 鎵�鍦ㄧ渷浠界紪鍙� */
+ provinceCode?: string;
/** 鎵�鍦ㄧ渷浠� */
provinceContent?: string;
+ /** 鎵�鍦ㄥ煄甯傜紪鍙� */
+ cityCode?: string;
/** 鎵�鍦ㄥ煄甯� */
cityContent?: string;
+ /** 鎵�灞炶涓氱紪鍙� */
+ industryTypeCode?: string;
/** 鎵�灞炶涓� */
industryTypeContent?: string;
/** 涓昏惀涓氬姟 */
@@ -891,7 +1046,7 @@
remark?: string;
/** 瑙掕壊 */
roles?: GetOperationUserInfosQueryResultItemRole[];
- status?: EnumUserInfoStatus;
+ status?: EnumUserStatus;
}
interface GetOperationUserInfosQueryResultItemRole {
@@ -994,6 +1149,136 @@
isChecked?: boolean;
}
+ interface GetTaskInfoQueryResult {
+ /** Id */
+ id?: string;
+ /** 浼佷笟Id */
+ enterpriseId?: string;
+ /** 浼佷笟鍏ㄧО */
+ enterpriseName?: string;
+ /** 鍦ㄦ嫑宀椾綅鏁伴噺 */
+ taskCount?: number;
+ /** 浠诲姟鍚嶇О */
+ name?: string;
+ billingMethod?: EnumBillingMethod;
+ /** 鏈嶅姟璐� */
+ serviceFee?: number;
+ settlementCycle?: EnumSettlementCycle;
+ /** 绂忓埄 */
+ benefits?: GetTaskInfoQueryResultBenefit[];
+ /** 骞撮緞鑼冨洿鏈�灏� */
+ ageMinLimit?: number;
+ /** 骞撮緞鑼冨洿澶� */
+ ageMaxLimit?: number;
+ genderLimit?: EnumUserGender;
+ /** 璧勬牸璇佷功绫诲瀷 */
+ credentialLimits?: GetTaskInfoQueryResultCredentialLimit[];
+ /** 浠诲姟鍦扮偣鎵�灞炵渷浠界紪鍙� */
+ provinceCode?: string;
+ /** 浠诲姟鍦扮偣鎵�灞炵渷浠� */
+ provinceContent?: string;
+ /** 浠诲姟鍦扮偣鎵�灞炲煄甯傜紪鍙� */
+ cityCode?: string;
+ /** 浠诲姟鍦扮偣鎵�灞炲煄甯� */
+ cityContent?: string;
+ /** 浠诲姟鍦扮偣鍚嶇О */
+ addressName?: string;
+ /** 浠诲姟鍦扮偣璇︾粏鍦板潃 */
+ addressDetail?: string;
+ /** 缁忓害 */
+ longitude?: number;
+ /** 绾害 */
+ latitude?: number;
+ /** 浠诲姟寮�濮嬫椂闂� */
+ beginTime?: string;
+ /** 浠诲姟缁撴潫鏃堕棿 */
+ endTime?: string;
+ /** 鍒涘缓鏃堕棿 */
+ createdTime?: string;
+ /** 鏄惁宸叉敹钘� */
+ isCollected?: boolean;
+ }
+
+ interface GetTaskInfoQueryResultBenefit {
+ /** 绂忓埄缂栧彿 */
+ benefitCode?: string;
+ /** 绂忓埄 */
+ benefitContent?: string;
+ }
+
+ interface GetTaskInfoQueryResultCredentialLimit {
+ /** 璇佷功绫诲瀷缂栧彿 */
+ typeCode?: string;
+ /** 璇佷功绫诲瀷 */
+ typeContent?: string;
+ }
+
+ interface GetTaskInfosQuery {
+ pageModel?: PagedListQueryPageModel;
+ /** 鍏抽敭瀛楋紙浠诲姟鍚嶇О锛� */
+ keywords?: string;
+ /** 鍙戝竷鏃堕棿-寮�濮� */
+ beginTime?: string;
+ /** 鍙戝竷鏃堕棿-缁撴潫 */
+ endTime?: string;
+ /** 浠诲姟鍦扮偣鎵�灞炲煄甯傜紪鍙� */
+ cityCode?: string;
+ settlementCycle?: EnumSettlementCycle;
+ /** 鍛樺伐绂忓埄 */
+ benefitCodes?: string[];
+ genderLimit?: EnumUserGender;
+ status?: EnumTaskStatus;
+ releaseStatus?: EnumTaskReleaseStatus;
+ recommendStatus?: EnumTaskRecommendStatus;
+ }
+
+ interface GetTaskInfosQueryResultItem {
+ /** Id */
+ id?: string;
+ /** 浠诲姟鍚嶇О */
+ name: string;
+ /** 浠诲姟鍗曞彿 */
+ code?: string;
+ billingMethod?: EnumBillingMethod;
+ /** 鏈嶅姟璐� */
+ serviceFee?: number;
+ settlementCycle?: EnumSettlementCycle;
+ /** 绂忓埄 */
+ benefits?: GetTaskInfoQueryResultBenefit[];
+ genderLimit?: EnumUserGender;
+ /** 璧勬牸璇佷功绫诲瀷 */
+ credentialLimits?: GetTaskInfoQueryResultCredentialLimit[];
+ /** 浠诲姟鍦扮偣鎵�灞炵渷浠界紪鍙� */
+ provinceCode?: string;
+ /** 浠诲姟鍦扮偣鎵�灞炵渷浠� */
+ provinceContent?: string;
+ /** 浠诲姟鍦扮偣鎵�灞炲煄甯傜紪鍙� */
+ cityCode?: string;
+ /** 浠诲姟鍦扮偣鎵�灞炲煄甯� */
+ cityContent?: string;
+ /** 浠诲姟鍦扮偣鍚嶇О */
+ addressName?: string;
+ /** 浠诲姟鍦扮偣璇︾粏鍦板潃 */
+ addressDetail?: string;
+ /** 缁忓害 */
+ longitude?: number;
+ /** 绾害 */
+ latitude?: number;
+ /** 鎶ュ悕浜烘暟 */
+ userCount?: number;
+ status?: EnumTaskStatus;
+ /** 浠诲姟寮�濮嬫椂闂� */
+ beginTime?: string;
+ /** 浠诲姟缁撴潫鏃堕棿 */
+ endTime?: string;
+ releaseStatus?: EnumTaskReleaseStatus;
+ checkReceiveStatus?: EnumTaskCheckReceiveStatus;
+ settlementStatus?: EnumTaskSettlementStatus;
+ recommendStatus?: EnumTaskRecommendStatus;
+ /** 鍒涘缓鏃堕棿 */
+ createdTime?: string;
+ }
+
interface GetUserInfoRolesQueryResultItem {
/** 瑙掕壊Id */
id?: string;
@@ -1004,6 +1289,8 @@
/** 鏄惁閫変腑 */
isChecked?: boolean;
}
+
+ type GetUserResumeQueryResult = Record<string, any>;
interface PagedListQueryPageModel {
/** 琛屾暟 */
@@ -1048,6 +1335,12 @@
pageModel?: PagedListQueryResultPageModel;
/** 鏁版嵁 */
data?: GetRolesQueryResultItem[];
+ }
+
+ interface PagedListQueryResultGetTaskInfosQueryResultItem {
+ pageModel?: PagedListQueryResultPageModel;
+ /** 鏁版嵁 */
+ data?: GetTaskInfosQueryResultItem[];
}
interface PagedListQueryResultPageModel {
@@ -1095,12 +1388,14 @@
interface SaveDictionaryDataCommand {
/** Id */
id?: string;
- /** 绫诲埆Id */
+ /** 绫诲埆Id锛圛d/缂栧彿浜岄�変竴锛� */
categoryId?: string;
+ /** 绫诲埆缂栧彿锛圛d/缂栧彿浜岄�変竴锛� */
+ categoryCode?: string;
/** 涓婄骇Id */
parentId?: string;
/** 缂栧彿 */
- code?: string;
+ code: string;
/** 鏄剧ず鍐呭 */
content: string;
/** 瀛楁1 */
@@ -1130,12 +1425,12 @@
legalPerson?: string;
/** 娉曚汉韬唤璇佸彿 */
legalIdentity?: string;
- /** 鎵�鍦ㄧ渷浠絀d */
- provinceId?: string;
- /** 鎵�鍦ㄥ煄甯侷d */
- cityId?: string;
- /** 鎵�灞炶涓欼d */
- industryTypeId?: string;
+ /** 鎵�鍦ㄧ渷浠界紪鍙� */
+ provinceCode?: string;
+ /** 鎵�鍦ㄥ煄甯傜紪鍙� */
+ cityCode?: string;
+ /** 鎵�灞炶涓氱紪鍙� */
+ industryTypeCode?: string;
/** 涓昏惀涓氬姟 */
mainBusiness?: string;
/** 鑱旂郴浜� */
@@ -1291,7 +1586,43 @@
resources?: GetRoleQueryResultResource[];
}
- interface SelectQueryResultOptionGuidGetDictionaryCategorySelectQueryOption {
+ interface SaveTaskInfoCommand {
+ /** Id */
+ id?: string;
+ /** 浠诲姟鍚嶇О */
+ name: string;
+ billingMethod: EnumBillingMethod;
+ /** 鏈嶅姟璐� */
+ serviceFee: number;
+ settlementCycle: EnumSettlementCycle;
+ /** 绂忓埄缂栧彿 */
+ benefits?: string[];
+ /** 骞撮緞鑼冨洿鏈�灏� */
+ ageMinLimit: number;
+ /** 骞撮緞鑼冨洿澶� */
+ ageMaxLimit: number;
+ genderLimit: EnumUserGender;
+ /** 璧勬牸璇佷功绫诲瀷缂栧彿 */
+ credentialLimits?: string[];
+ /** 浠诲姟鍦扮偣鎵�灞炵渷浠界紪鍙� */
+ provinceCode: string;
+ /** 浠诲姟鍦扮偣鎵�灞炲煄甯傜紪鍙� */
+ cityCode: string;
+ /** 浠诲姟鍦扮偣鍚嶇О */
+ addressName: string;
+ /** 浠诲姟鍦扮偣璇︾粏鍦板潃 */
+ addressDetail: string;
+ /** 缁忓害 */
+ longitude?: number;
+ /** 绾害 */
+ latitude?: number;
+ /** 浠诲姟寮�濮嬫椂闂� */
+ beginTime: string;
+ /** 浠诲姟缁撴潫鏃堕棿 */
+ endTime: string;
+ }
+
+ interface SelectOptionGuidGetDictionaryCategorySelectQueryOption {
/** 鍊� */
value?: string;
/** 鏍囩 */
@@ -1300,13 +1631,19 @@
data?: any;
}
- interface SelectQueryResultOptionGuidGetDictionaryDataSelectQueryResultOption {
+ interface SelectOptionStringGetDictionaryDataSelectQueryResultOption {
/** 鍊� */
value?: string;
/** 鏍囩 */
label?: string;
/** 鏁版嵁 */
data?: any;
+ }
+
+ interface SendVerifyCodeCommand {
+ /** 鎵嬫満鍙风爜 */
+ phoneNumber?: string;
+ templateCode?: EnumSmsTemplateType;
}
interface SetDictionaryDataIsDisabledCommand {
@@ -1358,6 +1695,18 @@
userInfoIds?: string[];
}
+ interface SetTaskInfoRecommendStatusCommand {
+ /** Id */
+ ids?: string[];
+ recommendStatus?: EnumTaskRecommendStatus;
+ }
+
+ interface SetTaskInfoReleaseStatusCommand {
+ /** Id */
+ ids?: string[];
+ releaseStatus?: EnumTaskReleaseStatus;
+ }
+
interface SetUserInfoRolesCommand {
/** 鐢ㄦ埛Id */
userInfoId?: string;
@@ -1368,6 +1717,8 @@
interface SetUserInfoStatusCommand {
/** Id */
ids?: string[];
- status?: EnumUserInfoStatus;
+ status?: EnumUserStatus;
}
+
+ type SyncHumanResourcesAreaDictionaryDataCommand = Record<string, any>;
}
diff --git a/src/services/api/user.ts b/src/services/api/user.ts
new file mode 100644
index 0000000..a398d43
--- /dev/null
+++ b/src/services/api/user.ts
@@ -0,0 +1,81 @@
+/* eslint-disable */
+// @ts-ignore
+import { request } from '@/utils/request';
+
+/** 鏌ヨ杩愯惀绔敤鎴峰垎椤靛垪琛ㄦ暟鎹� POST /api/user/user/getOperationUserInfos */
+export async function getOperationUserInfos(
+ body: API.GetOperationUserInfosQuery,
+ options?: API.RequestConfig
+) {
+ return request<API.PagedListQueryResultGetOperationUserInfosQueryResultItem>(
+ '/api/user/user/getOperationUserInfos',
+ {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json-patch+json',
+ },
+ data: body,
+ ...(options || {}),
+ }
+ );
+}
+
+/** 鏌ヨ鐢ㄦ埛瑙掕壊鍒楄〃 GET /api/user/user/getUserInfoRoles */
+export async function getUserInfoRoles(
+ // 鍙犲姞鐢熸垚鐨凱aram绫诲瀷 (闈瀊ody鍙傛暟swagger榛樿娌℃湁鐢熸垚瀵硅薄)
+ params: API.APIgetUserInfoRolesParams,
+ options?: API.RequestConfig
+) {
+ return request<API.GetUserInfoRolesQueryResultItem[]>('/api/user/user/getUserInfoRoles', {
+ method: 'GET',
+ params: {
+ ...params,
+ },
+ ...(options || {}),
+ });
+}
+
+/** 鏌ヨ鐢ㄦ埛绠�鍘� GET /api/user/user/getUserResume */
+export async function getUserResume(
+ // 鍙犲姞鐢熸垚鐨凱aram绫诲瀷 (闈瀊ody鍙傛暟swagger榛樿娌℃湁鐢熸垚瀵硅薄)
+ params: API.APIgetUserResumeParams,
+ options?: API.RequestConfig
+) {
+ return request<API.GetUserResumeQueryResult>('/api/user/user/getUserResume', {
+ method: 'GET',
+ params: {
+ ...params,
+ },
+ ...(options || {}),
+ });
+}
+
+/** 璁剧疆鐢ㄦ埛淇℃伅瑙掕壊 PUT /api/user/user/setUserInfoRoles */
+export async function setUserInfoRoles(
+ body: API.SetUserInfoRolesCommand,
+ options?: API.RequestConfig
+) {
+ return request<number>('/api/user/user/setUserInfoRoles', {
+ method: 'PUT',
+ headers: {
+ 'Content-Type': 'application/json-patch+json',
+ },
+ data: body,
+ ...(options || {}),
+ });
+}
+
+/** 璁剧疆鐢ㄦ埛淇℃伅鐘舵�� PUT /api/user/user/setUserInfoStatus */
+export async function setUserInfoStatus(
+ body: API.SetUserInfoStatusCommand,
+ options?: API.RequestConfig
+) {
+ return request<number>('/api/user/user/setUserInfoStatus', {
+ method: 'PUT',
+ headers: {
+ 'Content-Type': 'application/json-patch+json',
+ },
+ data: body,
+ ...(options || {}),
+ });
+}
diff --git a/src/services/api/userInfo.ts b/src/services/api/userInfo.ts
deleted file mode 100644
index 4367d18..0000000
--- a/src/services/api/userInfo.ts
+++ /dev/null
@@ -1,66 +0,0 @@
-/* eslint-disable */
-// @ts-ignore
-import { request } from '@/utils/request';
-
-/** 鏌ヨ杩愯惀绔敤鎴峰垎椤靛垪琛ㄦ暟鎹� POST /api/user/userInfo/getOperationUserInfos */
-export async function getOperationUserInfos(
- body: API.GetOperationUserInfosQuery,
- options?: API.RequestConfig
-) {
- return request<API.PagedListQueryResultGetOperationUserInfosQueryResultItem>(
- '/api/user/userInfo/getOperationUserInfos',
- {
- method: 'POST',
- headers: {
- 'Content-Type': 'application/json-patch+json',
- },
- data: body,
- ...(options || {}),
- }
- );
-}
-
-/** 鏌ヨ鐢ㄦ埛瑙掕壊鍒楄〃 GET /api/user/userInfo/getUserInfoRoles */
-export async function getUserInfoRoles(
- // 鍙犲姞鐢熸垚鐨凱aram绫诲瀷 (闈瀊ody鍙傛暟swagger榛樿娌℃湁鐢熸垚瀵硅薄)
- params: API.APIgetUserInfoRolesParams,
- options?: API.RequestConfig
-) {
- return request<API.GetUserInfoRolesQueryResultItem[]>('/api/user/userInfo/getUserInfoRoles', {
- method: 'GET',
- params: {
- ...params,
- },
- ...(options || {}),
- });
-}
-
-/** 璁剧疆鐢ㄦ埛淇℃伅瑙掕壊 PUT /api/user/userInfo/setUserInfoRoles */
-export async function setUserInfoRoles(
- body: API.SetUserInfoRolesCommand,
- options?: API.RequestConfig
-) {
- return request<number>('/api/user/userInfo/setUserInfoRoles', {
- method: 'PUT',
- headers: {
- 'Content-Type': 'application/json-patch+json',
- },
- data: body,
- ...(options || {}),
- });
-}
-
-/** 璁剧疆鐢ㄦ埛淇℃伅鐘舵�� PUT /api/user/userInfo/setUserInfoStatus */
-export async function setUserInfoStatus(
- body: API.SetUserInfoStatusCommand,
- options?: API.RequestConfig
-) {
- return request<number>('/api/user/userInfo/setUserInfoStatus', {
- method: 'PUT',
- headers: {
- 'Content-Type': 'application/json-patch+json',
- },
- data: body,
- ...(options || {}),
- });
-}
diff --git a/src/utils/common/area.ts b/src/utils/common/area.ts
index cffe5d7..485b749 100644
--- a/src/utils/common/area.ts
+++ b/src/utils/common/area.ts
@@ -1,13 +1,14 @@
import { AreaType } from '@/constants';
import _ from 'lodash';
-export interface AreaTreeNode extends API.AreaDto {
- children?: AreaTreeNode[];
-}
+// type formatAreaListToTreeOptions = {
+// parentId?: string;
+// maxLayer?: number;
+// };
export function formatAreaListToTree(
- areaDataList: API.AreaDto[],
- parentId: number,
+ areaDataList: API.AreaTreeNode[],
+ parentId = '',
maxLayer = AreaType.Area
) {
const treeNodeList: API.AreaTreeNode[] = [];
diff --git a/src/views/EmploymentManage/CheckManage.vue b/src/views/EmploymentManage/CheckManage.vue
index 5342c37..7890416 100644
--- a/src/views/EmploymentManage/CheckManage.vue
+++ b/src/views/EmploymentManage/CheckManage.vue
@@ -66,7 +66,6 @@
} from '@bole-core/components';
import { CheckManageColumns } from './constants';
import { FlexEnterpriseSettingStatus, Gender } from '@/constants';
-import { OrderInputType } from '@bole-core/core';
import CheckManageDialog from './components/CheckManageDialog.vue';
defineOptions({
@@ -137,7 +136,7 @@
{
defaultExtraParams: {
searchWord: '',
- orderInput: [{ property: 'id', order: OrderInputType.Desc }],
+ orderInput: [{ property: 'id', order: EnumPagedListOrder.Desc }],
flexEnterpriseSettingStatus: '' as any as FlexEnterpriseSettingStatus,
},
queryKey: ['flexEnterpriseServices/getFlexEnterpriseList'],
diff --git a/src/views/EmploymentManage/EmploymentManage.vue b/src/views/EmploymentManage/EmploymentManage.vue
index 452e7f8..3750b03 100644
--- a/src/views/EmploymentManage/EmploymentManage.vue
+++ b/src/views/EmploymentManage/EmploymentManage.vue
@@ -3,49 +3,41 @@
<AppContainer>
<ProTableQueryFilterBar @on-reset="reset">
<template #query>
- <QueryFilterItem tip-content="褰曠敤鐘舵��">
+ <QueryFilterItem tip-content="浠诲姟鐘舵��">
<FieldRadio
- v-model="extraParamState.flexEnterpriseSettingStatus"
- :value-enum="[
- { label: '宸插畨鎺�', value: 1 },
- { label: '寰呭畨鎺�', value: 0 },
- ]"
+ v-model="extraParamState.status"
+ :value-enum="EnumTaskStatusText"
buttonStyle
showAllBtn
@change="getList()"
/>
</QueryFilterItem>
- <QueryFilterItem tip-content="瀹炲悕鐘舵��">
+ <QueryFilterItem tip-content="鍙戝竷鐘舵��">
<FieldRadio
- v-model="extraParamState.flexEnterpriseSettingStatus"
- :value-enum="[
- { label: '鍙戝竷涓�', value: 1 },
- { label: '宸插仠姝�', value: 0 },
- ]"
+ v-model="extraParamState.releaseStatus"
+ :value-enum="EnumTaskReleaseStatusText"
buttonStyle
showAllBtn
@change="getList()"
/>
</QueryFilterItem>
- <QueryFilterItem>
+ <QueryFilterItem tip-content="鍙戝竷鏃堕棿">
<FieldDatePicker
- v-model="extraParamState.flexEnterpriseSettingStatus"
+ v-model="extraParamState.time"
type="daterange"
range-separator="~"
- start-placeholder="璧峰鏃ユ湡"
- end-placeholder="鎴鏃ユ湡"
+ start-placeholder="寮�濮嬫棩鏈�"
+ end-placeholder="缁撴潫鏃ユ湡"
clearable
@change="getList()"
- tooltipContent="鍙戝竷鏃堕棿"
></FieldDatePicker>
</QueryFilterItem>
<QueryFilterItem>
<SearchInput
- v-model="extraParamState.searchWord"
- style="width: 250px"
+ v-model="extraParamState.keywords"
+ style="width: 260px"
placeholder="浠诲姟鍚嶇О"
@on-click-search="getList"
- @keyup.enter="getList()"
>
</SearchInput>
</QueryFilterItem>
@@ -59,8 +51,10 @@
:columns="EmploymentManageColumns"
:operationBtns="operationBtns"
>
- <template #signNum="{ row }">
- <el-button link type="primary" @click="goSignList(row)">{{ row.signNum || 0 }}</el-button>
+ <template #userCount="{ row }">
+ <el-button link type="primary" @click="goSignList(row)">{{
+ row.userCount || 0
+ }}</el-button>
</template>
</ProTableV2>
</AppContainer>
@@ -81,9 +75,12 @@
defineOperationBtns,
} from '@bole-core/components';
import { EmploymentManageColumns } from './constants';
-import { FlexEnterpriseSettingStatus, Gender } from '@/constants';
-import { OrderInputType } from '@bole-core/core';
+import { EnumTaskStatusText, EnumTaskReleaseStatusText } from '@/constants';
import { useGlobalEventContext } from '@/hooks';
+import * as taskServices from '@/services/api/task';
+import { format } from '@/utils';
+import { ModelValueType } from 'element-plus';
+import { Message } from '@bole-core/core';
defineOptions({
name: 'EmploymentManageList',
@@ -105,7 +102,7 @@
name: '璇︽儏',
},
emits: {
- onClick: (role) => goDetail(role),
+ onClick: (row: API.GetTaskInfosQueryResultItem) => goDetail(row),
},
},
{
@@ -114,10 +111,12 @@
name: '鍙戝竷',
},
emits: {
- onClick: (role) => handlePublish(role),
+ onClick: (row: API.GetTaskInfosQueryResultItem) =>
+ setTaskInfoReleaseStatus(row, EnumTaskReleaseStatus.InProcess),
},
extraProps: {
- hide: (row) => false,
+ hide: (row: API.GetTaskInfosQueryResultItem) =>
+ row.releaseStatus === EnumTaskReleaseStatus.InProcess,
},
},
{
@@ -126,10 +125,12 @@
name: '鍋滄鍙戝竷',
},
emits: {
- onClick: (role) => handleUnPublish(role),
+ onClick: (row: API.GetTaskInfosQueryResultItem) =>
+ setTaskInfoReleaseStatus(row, EnumTaskReleaseStatus.Stopped),
},
extraProps: {
- hide: (row) => false,
+ hide: (row: API.GetTaskInfosQueryResultItem) =>
+ row.releaseStatus === EnumTaskReleaseStatus.Stopped,
},
},
{
@@ -138,7 +139,7 @@
name: '瀹夋帓',
},
emits: {
- onClick: (role) => handleArrange(role),
+ onClick: (row: API.GetTaskInfosQueryResultItem) => handleArrange(row),
},
},
]);
@@ -175,17 +176,20 @@
} = useTable(
async ({ pageIndex, pageSize }, extraParamState) => {
try {
- let params: API.GetFlexEnterpriseInput = {
+ let params: API.GetTaskInfosQuery = {
pageModel: {
rows: pageSize,
page: pageIndex,
orderInput: extraParamState.orderInput,
},
- flexEnterpriseSettingStatus: extraParamState.flexEnterpriseSettingStatus,
- searchWord: extraParamState.searchWord,
+ keywords: extraParamState.keywords,
+ status: extraParamState.status,
+ releaseStatus: extraParamState.releaseStatus,
+ beginTime: format(extraParamState.time?.[0] ?? '', 'YYYY-MM-DD 00:00:00'),
+ endTime: format(extraParamState.time?.[1] ?? '', 'YYYY-MM-DD 23:59:59'),
};
- let res = await flexEnterpriseServices.getFlexEnterpriseList(params, {
+ let res = await taskServices.getTaskInfos(params, {
showLoading: !state.loading,
});
return res;
@@ -195,23 +199,46 @@
},
{
defaultExtraParams: {
- searchWord: '',
- orderInput: [{ property: 'id', order: OrderInputType.Desc }],
+ keywords: '',
+ status: '' as any as EnumTaskStatus,
+ releaseStatus: '' as any as EnumTaskReleaseStatus,
+ time: [] as unknown as ModelValueType,
+ orderInput: [{ property: 'id', order: EnumPagedListOrder.Desc }],
flexEnterpriseSettingStatus: '' as any as FlexEnterpriseSettingStatus,
},
- queryKey: ['flexEnterpriseServices/getFlexEnterpriseList'],
- columnsRenderProps: {},
+ queryKey: ['taskServices/getTaskInfos'],
+ columnsRenderProps: {
+ billingMethod: { type: 'enum', valueEnum: EnumBillingMethodText },
+ settlementCycle: { type: 'enum', valueEnum: EnumSettlementCycleText },
+ genderLimit: { type: 'enum', valueEnum: EnumUserGenderText },
+ status: { type: 'enum', valueEnum: EnumTaskStatusText },
+ releaseStatus: { type: 'enum', valueEnum: EnumTaskReleaseStatusText },
+ beginTime: { type: 'date', format: 'YYYY-MM-DD' },
+ endTime: { type: 'date', format: 'YYYY-MM-DD' },
+ serviceFee: { type: 'money' },
+ },
}
);
-function handlePublish(row) {
- console.log(row);
-}
-function handleUnPublish(row) {
- console.log(row);
+async function setTaskInfoReleaseStatus(
+ row: API.GetTaskInfosQueryResultItem,
+ releaseStatus: EnumTaskReleaseStatus
+) {
+ try {
+ await Message.tipMessage(`纭瑕�${EnumTaskReleaseStatusTextForTip[releaseStatus]}鍚楋紵`);
+ let params: API.SetTaskInfoReleaseStatusCommand = {
+ ids: [row.id],
+ releaseStatus: releaseStatus,
+ };
+ let res = await taskServices.setTaskInfoReleaseStatus(params);
+ if (res) {
+ Message.successMessage('鎿嶄綔鎴愬姛');
+ getList(paginationState.pageIndex);
+ }
+ } catch (error) {}
}
-function handleArrange(row) {
+function handleArrange(row: API.GetTaskInfosQueryResultItem) {
router.push({
name: 'EmploymentManageArrange',
params: {
@@ -219,7 +246,7 @@
},
});
}
-function goAddOrEdit(row?) {
+function goAddOrEdit(row?: API.GetTaskInfosQueryResultItem) {
router.push({
name: 'AddOrEditEmployment',
params: {
@@ -227,7 +254,7 @@
},
});
}
-function goDetail(row) {
+function goDetail(row: API.GetTaskInfosQueryResultItem) {
router.push({
name: 'EmploymentManageDetail',
params: {
@@ -236,7 +263,7 @@
});
}
-function goSignList(row) {
+function goSignList(row: API.GetTaskInfosQueryResultItem) {
router.push({
name: 'EmploymentSignList',
params: {
diff --git a/src/views/EmploymentManage/EmploymentManageArrange.vue b/src/views/EmploymentManage/EmploymentManageArrange.vue
index a88e530..e587122 100644
--- a/src/views/EmploymentManage/EmploymentManageArrange.vue
+++ b/src/views/EmploymentManage/EmploymentManageArrange.vue
@@ -75,7 +75,7 @@
defineOperationBtns,
} from '@bole-core/components';
import { EmploymentArrangeColumns } from './constants';
-import { OrderInputType, Message } from '@bole-core/core';
+import { Message } from '@bole-core/core';
import { FlexEnterpriseSettingStatus } from '@/constants';
defineOptions({
@@ -137,7 +137,7 @@
{
defaultExtraParams: {
searchWord: '',
- orderInput: [{ property: 'id', order: OrderInputType.Desc }],
+ orderInput: [{ property: 'id', order: EnumPagedListOrder.Desc }],
flexEnterpriseSettingStatus: '' as any as FlexEnterpriseSettingStatus,
},
queryKey: ['flexEnterpriseServices/getFlexEnterpriseList'],
diff --git a/src/views/EmploymentManage/EmploymentSignList.vue b/src/views/EmploymentManage/EmploymentSignList.vue
index 4cacc5d..c025329 100644
--- a/src/views/EmploymentManage/EmploymentSignList.vue
+++ b/src/views/EmploymentManage/EmploymentSignList.vue
@@ -53,7 +53,7 @@
UploadUserFile,
} from '@bole-core/components';
import { EmploymentSignColumns } from './constants/columns';
-import { OrderInputType, Message } from '@bole-core/core';
+import { Message } from '@bole-core/core';
import { FlexEnterpriseSettingStatus, Gender } from '@/constants';
import StaffInfoDialog from '@/views/FlexJobManage/components/StaffInfoDialog.vue';
import { convertApi2FormUrlOnlyOne } from '@/utils';
@@ -142,7 +142,7 @@
{
defaultExtraParams: {
searchWord: '',
- orderInput: [{ property: 'id', order: OrderInputType.Desc }],
+ orderInput: [{ property: 'id', order: EnumPagedListOrder.Desc }],
flexEnterpriseSettingStatus: '' as any as FlexEnterpriseSettingStatus,
},
queryKey: ['flexEnterpriseServices/getFlexEnterpriseList'],
diff --git a/src/views/EmploymentManage/components/AddOrEditEmploymentView.vue b/src/views/EmploymentManage/components/AddOrEditEmploymentView.vue
index 87cb1d4..1060e6b 100644
--- a/src/views/EmploymentManage/components/AddOrEditEmploymentView.vue
+++ b/src/views/EmploymentManage/components/AddOrEditEmploymentView.vue
@@ -12,24 +12,19 @@
</ProFormCol>
<ProFormCol>
<ProFormColItem :span="12">
- <ProFormItemV2 label="鏈嶅姟璐�:" prop="salaryType">
+ <ProFormItemV2 label="鏈嶅姟璐�:" prop="billingMethod">
<RadioWithExtra
- v-model="form.salaryType"
- :value-enum="[
- { label: '鎸夋湀', value: 1 },
- { label: '鎸夋棩', value: 2 },
- ]"
+ v-model="form.billingMethod"
+ :value-enum="EnumBillingMethodText"
:showExtra="true"
:button-style="false"
>
<template #extra>
<ProFormInputNumber
:controls="false"
- :min="0"
- :max="999"
- v-model="form.name"
+ v-model="form.serviceFee"
placeholder="璇疯緭鍏�"
- :unit="form.salaryType === 1 ? '鍏�/鏈�' : '鍏�/澶�'"
+ :unit="EnumBillingMethodUnitText[form.billingMethod]"
></ProFormInputNumber>
</template>
</RadioWithExtra>
@@ -38,10 +33,10 @@
</ProFormCol>
<ProFormCol>
<ProFormColItem :span="12">
- <ProFormItemV2 label="缁撶畻鏂瑰紡:" prop="salaryType">
+ <ProFormItemV2 label="缁撶畻鏂瑰紡:" prop="settlementCycle">
<ProFormRadio
- v-model="form.salaryType"
- :value-enum="[{ label: '鏄�', value: 1 }]"
+ v-model="form.settlementCycle"
+ :value-enum="EnumSettlementCycleText"
:button-style="false"
></ProFormRadio>
</ProFormItemV2>
@@ -51,7 +46,8 @@
<ProFormColItem :span="12">
<ProFormItemV2 label="绂忓埄:" prop="benefits">
<el-checkbox
- v-model="state.checBenefitskAll"
+ v-if="!isDetail"
+ v-model="state.checkBenefitsAll"
style="margin-right: 30px"
:indeterminate="state.isBenefitsIndeterminate"
@change="handleCheckBenefitsAllChange"
@@ -59,9 +55,7 @@
>
<ProFormCheckbox
v-model="form.benefits"
- :value-enum="[]"
- enumLabelKey="name"
- enum-value-key="id"
+ :value-enum="welfareList"
@change="handleCheckedBenefitsServicesChange"
></ProFormCheckbox>
</ProFormItemV2>
@@ -72,15 +66,15 @@
<ProFormItemV2 label="骞撮緞鑼冨洿:" prop="ageRange" class="form-age-range">
<ProFormInputNumber
:controls="false"
- :min="0"
- v-model="form.ageStart"
+ :min="1"
+ v-model="form.ageMinLimit"
placeholder="璇疯緭鍏�"
></ProFormInputNumber>
<div class="form-input-separator">鑷�</div>
<ProFormInputNumber
:controls="false"
- :min="0"
- v-model="form.ageEnd"
+ :min="1"
+ v-model="form.ageMaxLimit"
placeholder="璇疯緭鍏�"
></ProFormInputNumber>
</ProFormItemV2>
@@ -88,46 +82,62 @@
</ProFormCol>
<ProFormCol>
<ProFormColItem :span="12">
- <ProFormItemV2 label="鎬у埆瑕佹眰:" prop="sexRequirement" required>
+ <ProFormItemV2 label="鎬у埆瑕佹眰:" prop="genderLimit">
<ProFormRadio
- v-model="form.sexRequirement"
- :value-enum="[{ label: '涓嶉檺', value: 1 }]"
+ v-model="form.genderLimit"
+ :value-enum="EnumUserGenderTextForEdit"
+ show-all-btn
+ :all-btn-label="'涓嶉檺'"
+ :allBtnValue="0"
></ProFormRadio>
</ProFormItemV2>
</ProFormColItem>
</ProFormCol>
<ProFormCol>
<ProFormColItem :span="12">
- <ProFormItemV2 label="璧勬牸璇佷功:" prop="benefits">
+ <ProFormItemV2 label="璧勬牸璇佷功:" prop="credentialLimits">
<el-checkbox
- v-model="state.checBenefitskAll"
+ v-if="!isDetail"
+ v-model="state.checkCertificatesAll"
style="margin-right: 30px"
- :indeterminate="state.isBenefitsIndeterminate"
- @change="handleCheckBenefitsAllChange"
+ :indeterminate="state.isCertificatesIndeterminate"
+ @change="handleCheckCertificatesAllChange"
>鍏ㄩ��</el-checkbox
>
<ProFormCheckbox
- v-model="form.benefits"
- :value-enum="[]"
- enumLabelKey="name"
- enum-value-key="id"
- @change="handleCheckedBenefitsServicesChange"
+ v-model="form.credentialLimits"
+ :value-enum="certificateTypeList"
+ @change="handleCheckedCertificatesServicesChange"
></ProFormCheckbox>
</ProFormItemV2>
</ProFormColItem>
</ProFormCol>
<ProFormCol>
<ProFormColItem :span="12">
- <ProFormItemV2 label="浠诲姟鍦扮偣:" prop="areaList">
- <!-- <ProFromAddressSelect :areaList="form.areaList" :address="form.address" /> -->
+ <ProFormItemV2 label="浠诲姟鍦扮偣:" prop="weMapInfo">
+ <WeMap v-if="!isDetail" v-model="form.weMapInfo" />
+ <div v-else>
+ {{
+ `${form.weMapInfo.provinceName ?? ''}${form.weMapInfo.cityName ?? ''}${
+ form.weMapInfo.addressName ?? ''
+ }`
+ }}
+ </div>
</ProFormItemV2>
</ProFormColItem>
</ProFormCol>
<ProFormCol>
<ProFormColItem :span="12">
- <ProFormItemV2 label="浠诲姟鏃堕棿:" prop="name">
+ <ProFormItemV2 label="璇︾粏鍦板潃:" prop="addressDetail">
+ <ProFormText v-model.trim="form.addressDetail" placeholder="璇疯緭鍏ヨ缁嗗湴鍧�" />
+ </ProFormItemV2>
+ </ProFormColItem>
+ </ProFormCol>
+ <ProFormCol>
+ <ProFormColItem :span="12">
+ <ProFormItemV2 label="浠诲姟鏃堕棿:" prop="time">
<ProFormDatePicker
- v-model="form.name"
+ v-model="form.time"
type="daterange"
range-separator="鑷�"
start-placeholder="寮�濮嬫棩鏈�"
@@ -160,10 +170,19 @@
ProFormDatePicker,
ProFormCheckbox,
} from '@bole-core/components';
-import { FormInstance } from 'element-plus';
+import { FormInstance, ModelValueType } from 'element-plus';
import { Message } from '@bole-core/core';
import { useQuery } from '@tanstack/vue-query';
import { useGlobalEventContext, useRouteView } from '@/hooks';
+import * as taskServices from '@/services/api/task';
+import {
+ EnumUserGenderTextForEdit,
+ EnumBillingMethodText,
+ EnumBillingMethodUnitText,
+ EnumSettlementCycleText,
+} from '@/constants';
+import { format } from '@/utils';
+import dayjs from 'dayjs';
defineOptions({
name: 'AddOrEditEmploymentView',
@@ -179,38 +198,71 @@
const eventContext = useGlobalEventContext();
const { closeViewPush } = useRouteView();
+const { dictionaryDataList: welfareList } = useDictionaryDataSelect({
+ categoryCode: CategoryCode.Welfare,
+});
+const { dictionaryDataList: certificateTypeList } = useDictionaryDataSelect({
+ categoryCode: CategoryCode.CertificateType,
+});
const state = reactive({
- checBenefitskAll: false,
+ checkBenefitsAll: false,
isBenefitsIndeterminate: false,
+
+ checkCertificatesAll: false,
+ isCertificatesIndeterminate: false,
});
const form = reactive({
name: '',
- salaryType: 1,
- ageStart: 0,
- ageEnd: 0,
- sexRequirement: 1,
- manNumber: 0,
- womanNumber: 0,
- benefits: [],
- areaList: [] as number[],
- address: '',
+ billingMethod: '' as any as EnumBillingMethod,
+ serviceFee: 0,
+ settlementCycle: '' as any as EnumSettlementCycle,
+ benefits: [] as string[],
+ ageMinLimit: 0,
+ ageMaxLimit: 0,
+ genderLimit: 0 as any as EnumUserGender,
+ credentialLimits: [] as string[],
+ time: [] as unknown as ModelValueType,
+ weMapInfo: {} as WeMapModel,
+ addressDetail: '',
});
const { isLoading } = useQuery({
- queryKey: ['flexTaskServices/getFlexTaskDetail', id],
+ queryKey: ['taskServices/getTaskInfo', id],
queryFn: async () => {
- return await flexTaskServices.getFlexTaskDetail(
+ return await taskServices.getTaskInfo(
{ id: id },
{
showLoading: false,
}
);
},
- placeholderData: () => ({} as API.GetFlexTaskDetailForBackOutput),
+ placeholderData: () => ({} as API.GetTaskInfoQueryResult),
onSuccess(data) {
- form.name = data.taskName;
+ form.name = data.name;
+ form.billingMethod = data.billingMethod;
+ form.serviceFee = data.serviceFee;
+ form.settlementCycle = data.settlementCycle;
+ form.benefits = data.benefits?.map((x) => x.benefitCode) ?? [];
+ form.ageMinLimit = data.ageMinLimit;
+ form.ageMaxLimit = data.ageMaxLimit;
+ form.genderLimit = data.genderLimit;
+ form.credentialLimits = data.credentialLimits?.map((x) => x.typeCode) ?? [];
+ form.time = [
+ format(data.beginTime, 'YYYY-MM-DD 00:00:00'),
+ format(data.endTime, 'YYYY-MM-DD 23:59:59'),
+ ];
+ form.weMapInfo = {
+ latitude: data.latitude,
+ longitude: data.longitude,
+ provinceName: data.provinceContent,
+ cityName: data.cityContent,
+ provinceCode: data.provinceCode,
+ cityCode: data.cityCode,
+ addressName: data.addressName,
+ };
+ form.addressDetail = data.addressDetail;
},
enabled: isEdit,
});
@@ -233,8 +285,30 @@
}
async function submit() {
try {
- let params = {};
- let res;
+ console.log('form.weMapInfo: ', form.weMapInfo);
+ let params: API.SaveTaskInfoCommand = {
+ name: form.name,
+ billingMethod: form.billingMethod,
+ serviceFee: form.serviceFee,
+ settlementCycle: form.settlementCycle,
+ benefits: form.benefits,
+ ageMinLimit: form.ageMinLimit,
+ ageMaxLimit: form.ageMaxLimit,
+ genderLimit: form.genderLimit,
+ credentialLimits: form.credentialLimits,
+ provinceCode: form.weMapInfo.provinceCode,
+ cityCode: form.weMapInfo.cityCode,
+ addressName: form.weMapInfo.addressName,
+ addressDetail: form.addressDetail,
+ longitude: form.weMapInfo.longitude,
+ latitude: form.weMapInfo.latitude,
+ beginTime: dayjs(form.time[0]).format('YYYY-MM-DD 00:00:00'),
+ endTime: dayjs(form.time[1]).format('YYYY-MM-DD 23:59:59'),
+ };
+ if (isEdit) {
+ params.id = id;
+ }
+ let res = await taskServices.saveTaskInfo(params);
if (res) {
Message.successMessage('鎿嶄綔鎴愬姛');
eventContext.emit(isEdit ? 'employment:edit' : 'employment:add');
@@ -243,9 +317,36 @@
} catch (error) {}
}
-function handleCheckBenefitsAllChange() {}
+function handleCheckBenefitsAllChange(val: boolean) {
+ form.benefits = val
+ ? welfareList.value.map((item) => {
+ return item.value;
+ })
+ : [];
+ state.isBenefitsIndeterminate = false;
+}
-function handleCheckedBenefitsServicesChange() {}
+function handleCheckedBenefitsServicesChange(value: string[]) {
+ const checkedCount = value.length;
+ state.checkBenefitsAll = checkedCount === welfareList.value.length;
+ state.isBenefitsIndeterminate = checkedCount > 0 && checkedCount < welfareList.value.length;
+}
+
+function handleCheckCertificatesAllChange(val: boolean) {
+ form.credentialLimits = val
+ ? certificateTypeList.value.map((item) => {
+ return item.value;
+ })
+ : [];
+ state.isCertificatesIndeterminate = false;
+}
+
+function handleCheckedCertificatesServicesChange(value: string[]) {
+ const checkedCount = value.length;
+ state.checkCertificatesAll = checkedCount === certificateTypeList.value.length;
+ state.isCertificatesIndeterminate =
+ checkedCount > 0 && checkedCount < certificateTypeList.value.length;
+}
</script>
<style lang="scss" scoped>
@use '@/style/common.scss' as *;
diff --git a/src/views/EmploymentManage/components/CheckManageDialog.vue b/src/views/EmploymentManage/components/CheckManageDialog.vue
index b5e73cb..1c93c62 100644
--- a/src/views/EmploymentManage/components/CheckManageDialog.vue
+++ b/src/views/EmploymentManage/components/CheckManageDialog.vue
@@ -27,7 +27,6 @@
defineOperationBtns,
useTable,
} from '@bole-core/components';
-import { OrderInputType } from '@bole-core/core';
defineOptions({
name: 'EnterpriseConsumptionDetailDialog',
@@ -107,7 +106,7 @@
},
{
defaultExtraParams: {
- orderInput: [{ property: 'id', order: OrderInputType.Desc }],
+ orderInput: [{ property: 'id', order: EnumPagedListOrder.Desc }],
},
queryKey: ['flexEnterpriseServices/getFlexEnterpriseList'],
columnsRenderProps: {},
diff --git a/src/views/EmploymentManage/constants/columns.ts b/src/views/EmploymentManage/constants/columns.ts
index 6b8c412..7a2d70c 100644
--- a/src/views/EmploymentManage/constants/columns.ts
+++ b/src/views/EmploymentManage/constants/columns.ts
@@ -8,52 +8,52 @@
},
{
id: '2',
- enCode: 'name',
+ enCode: 'code',
name: '浠诲姟鍗曞彿',
},
{
id: '3',
- enCode: 'name',
+ enCode: 'billingMethod',
name: '缁撶畻鍛ㄦ湡',
},
{
id: '4',
- enCode: 'name',
+ enCode: 'serviceFee',
name: '鏈嶅姟璐归噾棰�',
},
{
id: '5',
- enCode: 'name',
+ enCode: 'settlementCycle',
name: '缁撶畻鏂瑰紡',
},
{
id: '6',
- enCode: 'name',
+ enCode: 'genderLimit',
name: '鎬у埆瑕佹眰',
},
{
id: '7',
- enCode: 'signNum',
+ enCode: 'userCount',
name: '鎶ュ悕浜烘暟',
},
{
id: '8',
- enCode: 'name',
+ enCode: 'status',
name: '浠诲姟鐘舵��',
},
{
id: '9',
- enCode: 'name',
+ enCode: 'beginTime',
name: '鍙戝竷鏃ユ湡',
},
{
id: '10',
- enCode: 'name',
+ enCode: 'endTime',
name: '缁撴潫鏃ユ湡',
},
{
id: '11',
- enCode: 'name',
+ enCode: 'releaseStatus',
name: '鍙戝竷鐘舵��',
},
]);
diff --git a/src/views/FinanceManage/components/DistributionDetailView.vue b/src/views/FinanceManage/components/DistributionDetailView.vue
index 10d3f52..222e5b3 100644
--- a/src/views/FinanceManage/components/DistributionDetailView.vue
+++ b/src/views/FinanceManage/components/DistributionDetailView.vue
@@ -22,7 +22,6 @@
// import * as flexEnterpriseServices from '@/services/api/FlexEnterprise';
import { DistributionDetailColumns } from '../constants';
import { FlexEnterpriseSettingStatus } from '@/constants';
-import { OrderInputType } from '@bole-core/core';
defineOptions({
name: 'DistributionDetailView',
@@ -71,7 +70,7 @@
{
defaultExtraParams: {
searchWord: '',
- orderInput: [{ property: 'id', order: OrderInputType.Desc }],
+ orderInput: [{ property: 'id', order: EnumPagedListOrder.Desc }],
flexEnterpriseSettingStatus: '' as any as FlexEnterpriseSettingStatus,
},
queryKey: ['flexEnterpriseServices/getFlexEnterpriseList'],
diff --git a/src/views/FinanceManage/components/UsageDetailView.vue b/src/views/FinanceManage/components/UsageDetailView.vue
index 69dd4ab..d4cfad9 100644
--- a/src/views/FinanceManage/components/UsageDetailView.vue
+++ b/src/views/FinanceManage/components/UsageDetailView.vue
@@ -12,7 +12,6 @@
// import * as flexEnterpriseServices from '@/services/api/FlexEnterprise';
import { UsageDetailColumns } from '../constants';
import { FlexEnterpriseSettingStatus } from '@/constants';
-import { OrderInputType } from '@bole-core/core';
defineOptions({
name: 'UsageDetailView',
@@ -59,7 +58,7 @@
{
defaultExtraParams: {
searchWord: '',
- orderInput: [{ property: 'id', order: OrderInputType.Desc }],
+ orderInput: [{ property: 'id', order: EnumPagedListOrder.Desc }],
flexEnterpriseSettingStatus: '' as any as FlexEnterpriseSettingStatus,
},
queryKey: ['flexEnterpriseServices/getFlexEnterpriseList'],
diff --git a/src/views/FlexJobManage/FlexJobManage.vue b/src/views/FlexJobManage/FlexJobManage.vue
index 9661fc8..d89e356 100644
--- a/src/views/FlexJobManage/FlexJobManage.vue
+++ b/src/views/FlexJobManage/FlexJobManage.vue
@@ -134,7 +134,7 @@
} from '@bole-core/components';
import { FlexJobManageColumns } from './constants';
import { FlexEnterpriseSettingStatus, Gender } from '@/constants';
-import { OrderInputType, Message } from '@bole-core/core';
+import { Message } from '@bole-core/core';
import { convertApi2FormUrlOnlyOne, downloadFileByUrl } from '@/utils';
import StaffInfoDialog from './components/StaffInfoDialog.vue';
import BatchImportDialog from './components/BatchImportDialog.vue';
@@ -242,7 +242,7 @@
{
defaultExtraParams: {
searchWord: '',
- orderInput: [{ property: 'id', order: OrderInputType.Desc }],
+ orderInput: [{ property: 'id', order: EnumPagedListOrder.Desc }],
flexEnterpriseSettingStatus: '' as any as FlexEnterpriseSettingStatus,
},
queryKey: ['flexEnterpriseServices/getFlexEnterpriseList'],
diff --git a/src/views/ServiceChargeManage/ServiceChargeDetail.vue b/src/views/ServiceChargeManage/ServiceChargeDetail.vue
index ad92f39..97cf434 100644
--- a/src/views/ServiceChargeManage/ServiceChargeDetail.vue
+++ b/src/views/ServiceChargeManage/ServiceChargeDetail.vue
@@ -133,7 +133,7 @@
import { Edit, Upload } from '@element-plus/icons-vue';
import { SettlementListColumns } from './constants';
import { useQuery } from '@tanstack/vue-query';
-import { downloadFileByUrl, OrderInputType } from '@bole-core/core';
+import { downloadFileByUrl } from '@bole-core/core';
defineOptions({
name: 'ServiceChargeDetail',
@@ -199,7 +199,7 @@
{
defaultExtraParams: {
searchWord: '',
- orderInput: [{ property: 'id', order: OrderInputType.Desc }],
+ orderInput: [{ property: 'id', order: EnumPagedListOrder.Desc }],
},
queryKey: ['flexEnterpriseServices/getFlexEnterpriseList'],
columnsRenderProps: {},
diff --git a/src/views/ServiceChargeManage/ServiceChargeManage.vue b/src/views/ServiceChargeManage/ServiceChargeManage.vue
index 1f00249..ad975a6 100644
--- a/src/views/ServiceChargeManage/ServiceChargeManage.vue
+++ b/src/views/ServiceChargeManage/ServiceChargeManage.vue
@@ -109,7 +109,6 @@
} from '@bole-core/components';
import { ServiceChargeManageColumns } from './constants';
import { FlexEnterpriseSettingStatus, Gender } from '@/constants';
-import { OrderInputType } from '@bole-core/core';
import { downloadFileByUrl } from '@/utils';
defineOptions({
@@ -195,7 +194,7 @@
{
defaultExtraParams: {
searchWord: '',
- orderInput: [{ property: 'id', order: OrderInputType.Desc }],
+ orderInput: [{ property: 'id', order: EnumPagedListOrder.Desc }],
flexEnterpriseSettingStatus: '' as any as FlexEnterpriseSettingStatus,
},
queryKey: ['flexEnterpriseServices/getFlexEnterpriseList'],
diff --git a/types/api.d.ts b/types/api.d.ts
index 5c800b8..5771ec0 100644
--- a/types/api.d.ts
+++ b/types/api.d.ts
@@ -13,4 +13,19 @@
mock?: boolean;
customErrorHandler?: (error: any) => boolean;
}
+
+ interface AreaTreeNode {
+ children?: AreaTreeNode[];
+ /** 缂栫爜 */
+ areaCode?: string;
+ /** 鐖剁骇缂栫爜 */
+ parentCode?: string;
+ /** 鍚嶇О */
+ areaName?: string;
+ /** 1鐪� 2甯� 3鍖� 4闀� */
+ layer?: number;
+ /** 鎺掑簭 */
+ sort?: number;
+ id?: string
+ }
}
diff --git a/types/global.d.ts b/types/global.d.ts
index 33ce661..4a7ea86 100644
--- a/types/global.d.ts
+++ b/types/global.d.ts
@@ -131,16 +131,17 @@
errorLog: string | Array<'production' | 'development'>;
}
- interface WeMapModel {
+ interface WeMapModel {
latitude?: number;
longitude?: number;
provinceName?: string;
cityName?: string;
countyName?: string;
- provinceCode?: number;
- cityCode?: number;
- countyCode?: number;
+ provinceCode?: string;
+ cityCode?: string;
+ countyCode?: string;
address?: string;
+ addressName?: string;
}
interface CommonAnnexItem {
--
Gitblit v1.9.1