From a4978ef36ce6dc9c6723b61b20fd27cffd907ad9 Mon Sep 17 00:00:00 2001 From: wupengfei <834520024@qq.com> Date: 星期五, 08 八月 2025 14:56:05 +0800 Subject: [PATCH] feat: 任务 --- src/views/TaskManage/components/TaskDetailView.vue | 30 ++++++++++---- src/constants/task.ts | 10 +++++ .eslintrc-auto-import.json | 16 +------- auto-imports.d.ts | 20 ++------- src/views/DictionaryManage/components/AddOrEditDictionaryDialog.vue | 1 src/views/TaskManage/TaskManageList.vue | 20 +++++++-- 6 files changed, 54 insertions(+), 43 deletions(-) diff --git a/.eslintrc-auto-import.json b/.eslintrc-auto-import.json index 0a73595..0d719be 100644 --- a/.eslintrc-auto-import.json +++ b/.eslintrc-auto-import.json @@ -5,7 +5,6 @@ "AreaType": true, "AuthorizeType": true, "BooleanOptions": true, - "CallingConventions": true, "CategoryCode": true, "CertificateTypeCodeEnum": true, "ChargeTypeEnum": true, @@ -42,11 +41,13 @@ "EnumSmsAccessText": true, "EnumSmsTemplateType": true, "EnumTaskCheckReceiveStatus": true, + "EnumTaskCheckReceiveStatusText": true, "EnumTaskRecommendStatus": true, "EnumTaskRecommendStatusText": true, "EnumTaskReleaseStatus": true, "EnumTaskReleaseStatusText": true, "EnumTaskSettlementStatus": true, + "EnumTaskSettlementStatusText": true, "EnumTaskStatus": true, "EnumTaskStatusText": true, "EnumUserGender": true, @@ -55,7 +56,6 @@ "EnumUserStatus": true, "EnumUserType": true, "EnumUserTypeText": true, - "EventAttributes": true, "ExtractDefaultPropTypes": true, "ExtractPropTypes": true, "ExtractPublicPropTypes": true, @@ -64,7 +64,6 @@ "FastColumnList": true, "FastDataButtonList": true, "FastPageButtonList": true, - "FieldAttributes": true, "FlexEnterpriseCertificationStatus": true, "FlexEnterpriseCertificationStatusText": true, "FlexTaskWorkerHireEnum": true, @@ -73,7 +72,6 @@ "FlexWorkerEleSignEnumText": true, "Gender": true, "GenderText": true, - "GenericParameterAttributes": true, "GlobalEvent": true, "GlobalEventContext": true, "GlobalEventListener": true, @@ -81,13 +79,9 @@ "InjectionKey": true, "IsConfiguredText": true, "IsRealText": true, - "LayoutKind": true, "MaybeRef": true, "MaybeRefOrGetter": true, - "MemberTypes": true, "MenuSvgIconMap": true, - "MethodAttributes": true, - "MethodImplAttributes": true, "ModuleColumns": true, "MyRegExp": true, "OSSBaseURL": true, @@ -103,24 +97,18 @@ "OssRich": true, "OssUser": true, "OssUserSign": true, - "ParameterAttributes": true, "PropType": true, - "PropertyAttributes": true, "Ref": true, "RoleClientType": true, - "SecurityRuleSet": true, "Slot": true, "Slots": true, "SubModuleKey": true, "SubModuleTitle": true, "SubModuleType": true, - "TaskCreationOptions": true, - "TaskStatus": true, "ThemeColorItem": true, "ThemeColorName": true, "ThemeColors": true, "ThemeColorsType": true, - "TypeAttributes": true, "UsePortraitTableColumnsItem": true, "UsePortraitTableOptions": true, "VNode": true, diff --git a/auto-imports.d.ts b/auto-imports.d.ts index af87f98..5307817 100644 --- a/auto-imports.d.ts +++ b/auto-imports.d.ts @@ -49,11 +49,13 @@ const EnumSmsAccessText: typeof import('./src/constants/enterprise')['EnumSmsAccessText'] const EnumSmsTemplateType: typeof import('./src/constants/apiEnum')['EnumSmsTemplateType'] const EnumTaskCheckReceiveStatus: typeof import('./src/constants/apiEnum')['EnumTaskCheckReceiveStatus'] + const EnumTaskCheckReceiveStatusText: typeof import('./src/constants/task')['EnumTaskCheckReceiveStatusText'] 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 EnumTaskSettlementStatus: typeof import('./src/constants/apiEnum')['EnumTaskSettlementStatus'] + const EnumTaskSettlementStatusText: typeof import('./src/constants/task')['EnumTaskSettlementStatusText'] const EnumTaskStatus: typeof import('./src/constants/apiEnum')['EnumTaskStatus'] const EnumTaskStatusText: typeof import('./src/constants/task')['EnumTaskStatusText'] const EnumUserGender: typeof import('./src/constants/apiEnum')['EnumUserGender'] @@ -237,7 +239,7 @@ 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 { CallingConventions, EnumBillingMethod, EnumClientType, EnumMenuType, EnumMenuVisitLevel, EnumPagedListOrder, EnumRealAccess, EnumResourceController, EnumResourceMethod, EnumRoleWebApiDataPower, EnumSettlementCycle, EnumSmsAccess, EnumSmsTemplateType, EnumTaskCheckReceiveStatus, EnumTaskRecommendStatus, EnumTaskReleaseStatus, EnumTaskSettlementStatus, EnumTaskStatus, EnumUserGender, EnumUserStatus, EnumUserType, EventAttributes, FieldAttributes, GenericParameterAttributes, LayoutKind, MemberTypes, MethodAttributes, MethodImplAttributes, ParameterAttributes, PropertyAttributes, SecurityRuleSet, TaskCreationOptions, TaskStatus, TypeAttributes, CallingConventions, EnumBillingMethod, EnumClientType, EnumMenuType, EnumMenuVisitLevel, EnumPagedListOrder, EnumRealAccess, EnumResourceController, EnumResourceMethod, EnumRoleWebApiDataPower, EnumSettlementCycle, EnumSmsAccess, EnumSmsTemplateType, EnumTaskCheckReceiveStatus, EnumTaskRecommendStatus, EnumTaskReleaseStatus, EnumTaskSettlementStatus, EnumTaskStatus, EnumUserGender, EnumUserStatus, EnumUserType, EventAttributes, FieldAttributes, GenericParameterAttributes, LayoutKind, MemberTypes, MethodAttributes, MethodImplAttributes, ParameterAttributes, PropertyAttributes, SecurityRuleSet, TaskCreationOptions, TaskStatus, TypeAttributes } 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 { FlexWorkerEleSignEnum, FlexTaskWorkerHireEnum, FlexWorkerEleSignEnum, FlexTaskWorkerHireEnum } from './src/constants/cPerson' @@ -284,7 +286,6 @@ readonly AreaType: UnwrapRef<typeof import('./src/constants/enum')['AreaType']> readonly AuthorizeType: UnwrapRef<typeof import('./src/constants/enum')['AuthorizeType']> readonly BooleanOptions: UnwrapRef<typeof import('./src/constants/enum')['BooleanOptions']> - readonly CallingConventions: UnwrapRef<typeof import('./src/constants/apiEnum')['CallingConventions']> readonly CategoryCode: UnwrapRef<typeof import('./src/constants/dic')['CategoryCode']> readonly CertificateTypeCodeEnum: UnwrapRef<typeof import('./src/constants/dic')['CertificateTypeCodeEnum']> readonly ChargeTypeEnum: UnwrapRef<typeof import('./src/constants/enterprise')['ChargeTypeEnum']> @@ -317,11 +318,13 @@ readonly EnumSmsAccessText: UnwrapRef<typeof import('./src/constants/enterprise')['EnumSmsAccessText']> readonly EnumSmsTemplateType: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumSmsTemplateType']> readonly EnumTaskCheckReceiveStatus: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumTaskCheckReceiveStatus']> + readonly EnumTaskCheckReceiveStatusText: UnwrapRef<typeof import('./src/constants/task')['EnumTaskCheckReceiveStatusText']> 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 EnumTaskSettlementStatus: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumTaskSettlementStatus']> + readonly EnumTaskSettlementStatusText: UnwrapRef<typeof import('./src/constants/task')['EnumTaskSettlementStatusText']> 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']> @@ -330,12 +333,10 @@ 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 EventAttributes: UnwrapRef<typeof import('./src/constants/apiEnum')['EventAttributes']> readonly FastButtonMap: UnwrapRef<typeof import('./src/constants/module')['FastButtonMap']> readonly FastColumnList: UnwrapRef<typeof import('./src/constants/module')['FastColumnList']> readonly FastDataButtonList: UnwrapRef<typeof import('./src/constants/module')['FastDataButtonList']> readonly FastPageButtonList: UnwrapRef<typeof import('./src/constants/module')['FastPageButtonList']> - readonly FieldAttributes: UnwrapRef<typeof import('./src/constants/apiEnum')['FieldAttributes']> readonly FlexEnterpriseCertificationStatus: UnwrapRef<typeof import('./src/constants/enterprise')['FlexEnterpriseCertificationStatus']> readonly FlexEnterpriseCertificationStatusText: UnwrapRef<typeof import('./src/constants/enterprise')['FlexEnterpriseCertificationStatusText']> readonly FlexTaskWorkerHireEnum: UnwrapRef<typeof import('./src/constants/cPerson')['FlexTaskWorkerHireEnum']> @@ -344,15 +345,10 @@ readonly FlexWorkerEleSignEnumText: UnwrapRef<typeof import('./src/constants/cPerson')['FlexWorkerEleSignEnumText']> readonly Gender: UnwrapRef<typeof import('./src/constants/enum')['Gender']> readonly GenderText: UnwrapRef<typeof import('./src/constants/enum')['GenderText']> - readonly GenericParameterAttributes: UnwrapRef<typeof import('./src/constants/apiEnum')['GenericParameterAttributes']> readonly IdentityCodeEnum: UnwrapRef<typeof import('./src/constants/dic')['IdentityCodeEnum']> readonly IsConfiguredText: UnwrapRef<typeof import('./src/constants/enterprise')['IsConfiguredText']> readonly IsRealText: UnwrapRef<typeof import('./src/constants/enterprise')['IsRealText']> - readonly LayoutKind: UnwrapRef<typeof import('./src/constants/apiEnum')['LayoutKind']> - readonly MemberTypes: UnwrapRef<typeof import('./src/constants/apiEnum')['MemberTypes']> readonly MenuSvgIconMap: UnwrapRef<typeof import('./src/constants/menu')['MenuSvgIconMap']> - readonly MethodAttributes: UnwrapRef<typeof import('./src/constants/apiEnum')['MethodAttributes']> - readonly MethodImplAttributes: UnwrapRef<typeof import('./src/constants/apiEnum')['MethodImplAttributes']> readonly ModuleColumns: UnwrapRef<typeof import('./src/constants/module')['ModuleColumns']> readonly MyRegExp: UnwrapRef<typeof import('./src/constants/regExp')['MyRegExp']> readonly OSSBaseURL: UnwrapRef<typeof import('./src/constants/oss')['OSSBaseURL']> @@ -368,17 +364,11 @@ readonly OssRich: UnwrapRef<typeof import('./src/constants/oss')['OssRich']> readonly OssUser: UnwrapRef<typeof import('./src/constants/oss')['OssUser']> readonly OssUserSign: UnwrapRef<typeof import('./src/constants/oss')['OssUserSign']> - readonly ParameterAttributes: UnwrapRef<typeof import('./src/constants/apiEnum')['ParameterAttributes']> - readonly PropertyAttributes: UnwrapRef<typeof import('./src/constants/apiEnum')['PropertyAttributes']> readonly RoleClientType: UnwrapRef<typeof import('./src/constants/role')['RoleClientType']> - readonly SecurityRuleSet: UnwrapRef<typeof import('./src/constants/apiEnum')['SecurityRuleSet']> readonly SubModuleKey: UnwrapRef<typeof import('./src/constants/module')['SubModuleKey']> readonly SubModuleTitle: UnwrapRef<typeof import('./src/constants/module')['SubModuleTitle']> readonly SubModuleType: UnwrapRef<typeof import('./src/constants/module')['SubModuleType']> - readonly TaskCreationOptions: UnwrapRef<typeof import('./src/constants/apiEnum')['TaskCreationOptions']> - readonly TaskStatus: UnwrapRef<typeof import('./src/constants/apiEnum')['TaskStatus']> readonly ThemeColors: UnwrapRef<typeof import('./src/constants/theme')['ThemeColors']> - readonly TypeAttributes: UnwrapRef<typeof import('./src/constants/apiEnum')['TypeAttributes']> readonly VerifyStatus: UnwrapRef<typeof import('./src/constants/enterprise')['VerifyStatus']> readonly VerifyStatusColor: UnwrapRef<typeof import('./src/constants/enterprise')['VerifyStatusColor']> readonly VerifyStatusText: UnwrapRef<typeof import('./src/constants/enterprise')['VerifyStatusText']> diff --git a/src/constants/task.ts b/src/constants/task.ts index b615868..59b3d95 100644 --- a/src/constants/task.ts +++ b/src/constants/task.ts @@ -37,3 +37,13 @@ [EnumBillingMethod.Hour]: '鍏�/灏忔椂', [EnumBillingMethod.Piece]: '鍏�/浠�', }; + +export const EnumTaskSettlementStatusText = { + [EnumTaskSettlementStatus.Wait]: '寰呯粨绠�', + [EnumTaskSettlementStatus.Completed]: '宸茬粨绠�', +}; + +export const EnumTaskCheckReceiveStatusText = { + [EnumTaskCheckReceiveStatus.Wait]: '寰呴獙鏀�', + [EnumTaskCheckReceiveStatus.Completed]: '宸查獙鏀�', +}; diff --git a/src/views/DictionaryManage/components/AddOrEditDictionaryDialog.vue b/src/views/DictionaryManage/components/AddOrEditDictionaryDialog.vue index 2ea2250..e4f873e 100644 --- a/src/views/DictionaryManage/components/AddOrEditDictionaryDialog.vue +++ b/src/views/DictionaryManage/components/AddOrEditDictionaryDialog.vue @@ -43,6 +43,7 @@ label="鍥剧墖:" prop="field2" v-if="category?.data?.code === CategoryCode.Welfare" + :check-rules="[{ type: 'upload', message: '璇蜂笂浼犲浘鐗�' }]" > <ProFormImageUpload v-model:file-url="form.field2" :limitFileCount="1"></ProFormImageUpload> </ProFormItemV2> diff --git a/src/views/TaskManage/TaskManageList.vue b/src/views/TaskManage/TaskManageList.vue index 1f3e545..717e553 100644 --- a/src/views/TaskManage/TaskManageList.vue +++ b/src/views/TaskManage/TaskManageList.vue @@ -74,16 +74,15 @@ }); const operationBtnMap: Record<string, OperationBtnType> = { - detailBtn: { emits: { onClick: (role) => goDetail(role) } }, + detailBtn: { emits: { onClick: (row: API.GetTaskInfosQueryResultItem) => goDetail(row) } }, recommendBtn: { - emits: { onClick: (role) => setTaskInfoRecommendStatus(role) }, + emits: { onClick: (row: API.GetTaskInfosQueryResultItem) => setTaskInfoRecommendStatus(row) }, extraProps: { hide: (row) => row.recommendStatus === EnumTaskRecommendStatus.Yes, }, }, cancelRecommendBtn: { - emits: { onClick: (role) => setTaskInfoRecommendStatus(role) }, - props: { type: 'danger' }, + emits: { onClick: (row: API.GetTaskInfosQueryResultItem) => setTaskInfoRecommendStatus(row) }, extraProps: { hide: (row) => row.recommendStatus === EnumTaskRecommendStatus.No, }, @@ -141,7 +140,18 @@ time: [] as unknown as ModelValueType, orderInput: [{ property: 'id', order: EnumPagedListOrder.Asc }], }, - columnsRenderProps: {}, + 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 }, + checkReceiveStatus: { type: 'enum', valueEnum: EnumTaskCheckReceiveStatusText }, + settlementStatus: { type: 'enum', valueEnum: EnumTaskSettlementStatusText }, + beginTime: { type: 'date', format: 'YYYY-MM-DD' }, + endTime: { type: 'date', format: 'YYYY-MM-DD' }, + serviceFee: { type: 'money' }, + }, } ); diff --git a/src/views/TaskManage/components/TaskDetailView.vue b/src/views/TaskManage/components/TaskDetailView.vue index ab2fac9..7a7ede4 100644 --- a/src/views/TaskManage/components/TaskDetailView.vue +++ b/src/views/TaskManage/components/TaskDetailView.vue @@ -48,8 +48,6 @@ <ProFormCheckbox v-model="form.benefits" :value-enum="welfareList" - enumLabelKey="name" - enum-value-key="code" ></ProFormCheckbox> </ProFormItemV2> </ProFormColItem> @@ -90,8 +88,6 @@ <ProFormCheckbox v-model="form.credentialLimits" :value-enum="certificateTypeList" - enumLabelKey="name" - enum-value-key="code" ></ProFormCheckbox> </ProFormItemV2> </ProFormColItem> @@ -99,7 +95,11 @@ <ProFormCol> <ProFormColItem :span="12"> <ProFormItemV2 label="浠诲姟鍦扮偣:" prop="weMapInfo"> - <WeMap v-model="form.weMapInfo" /> + {{ + `${form.weMapInfo.provinceName ?? ''}${form.weMapInfo.cityName ?? ''}${ + form.weMapInfo.addressName ?? '' + }` + }} </ProFormItemV2> </ProFormColItem> </ProFormCol> @@ -203,11 +203,11 @@ form.billingMethod = data.billingMethod; form.serviceFee = data.serviceFee; form.settlementCycle = data.settlementCycle; - form.benefits = data.benefits?.map((x) => x.code) ?? []; + 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.code) ?? []; + 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'), @@ -215,8 +215,8 @@ form.weMapInfo = { latitude: data.latitude, longitude: data.longitude, - provinceName: data.provinceName, - cityName: data.cityName, + provinceName: data.provinceContent, + cityName: data.cityContent, provinceCode: data.provinceCode, cityCode: data.cityCode, addressName: data.addressName, @@ -235,4 +235,16 @@ <style lang="scss" scoped> @use '@/style/common.scss' as *; + +:deep() { + .radio-with-input-extra-wrapper { + display: flex; + } + + .form-age-range { + .pro-from-item-read-content-wrapper { + width: auto; + } + } +} </style> -- Gitblit v1.9.1