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