From 87af8eda59a2679cb1c9295012adda05b72cde85 Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期五, 08 八月 2025 14:28:46 +0800
Subject: [PATCH] feat: 任务
---
types/global.d.ts | 1
src/views/TaskManage/components/TaskDetailView.vue | 187 ++++++++++++++++++--------
src/constants/task.ts | 21 +++
.eslintrc-auto-import.json | 18 ++
src/services/api/typings.d.ts | 78 +++++++++-
src/components/WeMap/WeMap.vue | 2
auto-imports.d.ts | 40 +++++
src/constants/apiEnum.ts | 14 ++
src/services/api/auth.ts | 12 +
src/services/api/user.ts | 15 ++
src/views/TaskManage/TaskManageList.vue | 30 +++
11 files changed, 338 insertions(+), 80 deletions(-)
diff --git a/.eslintrc-auto-import.json b/.eslintrc-auto-import.json
index 93803cd..0a73595 100644
--- a/.eslintrc-auto-import.json
+++ b/.eslintrc-auto-import.json
@@ -5,6 +5,7 @@
"AreaType": true,
"AuthorizeType": true,
"BooleanOptions": true,
+ "CallingConventions": true,
"CategoryCode": true,
"CertificateTypeCodeEnum": true,
"ChargeTypeEnum": true,
@@ -21,6 +22,8 @@
"EnterpriseConfigureType": true,
"EnterpriseConfigureTypeText": true,
"EnumBillingMethod": true,
+ "EnumBillingMethodText": true,
+ "EnumBillingMethodUnitText": true,
"EnumClientType": true,
"EnumClientTypeText": true,
"EnumMenuType": true,
@@ -37,6 +40,7 @@
"EnumSettlementCycleText": true,
"EnumSmsAccess": true,
"EnumSmsAccessText": true,
+ "EnumSmsTemplateType": true,
"EnumTaskCheckReceiveStatus": true,
"EnumTaskRecommendStatus": true,
"EnumTaskRecommendStatusText": true,
@@ -46,10 +50,12 @@
"EnumTaskStatus": true,
"EnumTaskStatusText": true,
"EnumUserGender": true,
+ "EnumUserGenderText": true,
"EnumUserInfoStatusText": true,
"EnumUserStatus": true,
"EnumUserType": true,
"EnumUserTypeText": true,
+ "EventAttributes": true,
"ExtractDefaultPropTypes": true,
"ExtractPropTypes": true,
"ExtractPublicPropTypes": true,
@@ -58,6 +64,7 @@
"FastColumnList": true,
"FastDataButtonList": true,
"FastPageButtonList": true,
+ "FieldAttributes": true,
"FlexEnterpriseCertificationStatus": true,
"FlexEnterpriseCertificationStatusText": true,
"FlexTaskWorkerHireEnum": true,
@@ -66,6 +73,7 @@
"FlexWorkerEleSignEnumText": true,
"Gender": true,
"GenderText": true,
+ "GenericParameterAttributes": true,
"GlobalEvent": true,
"GlobalEventContext": true,
"GlobalEventListener": true,
@@ -73,9 +81,13 @@
"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,
@@ -91,18 +103,24 @@
"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 263e64b..af87f98 100644
--- a/auto-imports.d.ts
+++ b/auto-imports.d.ts
@@ -11,6 +11,7 @@
const AreaType: typeof import('./src/constants/enum')['AreaType']
const AuthorizeType: typeof import('./src/constants/enum')['AuthorizeType']
const BooleanOptions: typeof import('./src/constants/enum')['BooleanOptions']
+ const CallingConventions: typeof import('./src/constants/apiEnum')['CallingConventions']
const CategoryCode: typeof import('./src/constants/dic')['CategoryCode']
const CertificateTypeCodeEnum: typeof import('./src/constants/dic')['CertificateTypeCodeEnum']
const CertificateTypeEnum: typeof import('./src/constants/dic')['CertificateTypeEnum']
@@ -28,6 +29,8 @@
const EnterpriseConfigureType: typeof import('./src/constants/enterprise')['EnterpriseConfigureType']
const EnterpriseConfigureTypeText: typeof import('./src/constants/enterprise')['EnterpriseConfigureTypeText']
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']
@@ -44,6 +47,7 @@
const EnumSettlementCycleText: typeof import('./src/constants/task')['EnumSettlementCycleText']
const EnumSmsAccess: typeof import('./src/constants/apiEnum')['EnumSmsAccess']
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 EnumTaskRecommendStatus: typeof import('./src/constants/apiEnum')['EnumTaskRecommendStatus']
const EnumTaskRecommendStatusText: typeof import('./src/constants/task')['EnumTaskRecommendStatusText']
@@ -53,16 +57,19 @@
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 EnumUserInfoStatus: typeof import('./src/constants/apiEnum')['EnumUserInfoStatus']
const EnumUserInfoStatusText: typeof import('./src/constants/user')['EnumUserInfoStatusText']
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 EnumWebApiMethod: typeof import('./src/constants/apiEnum')['EnumWebApiMethod']
+ const EventAttributes: typeof import('./src/constants/apiEnum')['EventAttributes']
const FastButtonMap: typeof import('./src/constants/module')['FastButtonMap']
const FastColumnList: typeof import('./src/constants/module')['FastColumnList']
const FastDataButtonList: typeof import('./src/constants/module')['FastDataButtonList']
const FastPageButtonList: typeof import('./src/constants/module')['FastPageButtonList']
+ const FieldAttributes: typeof import('./src/constants/apiEnum')['FieldAttributes']
const FlexEnterpriseCertificationStatus: typeof import('./src/constants/enterprise')['FlexEnterpriseCertificationStatus']
const FlexEnterpriseCertificationStatusText: typeof import('./src/constants/enterprise')['FlexEnterpriseCertificationStatusText']
const FlexEnterpriseSettingStatus: typeof import('./src/constants/enterprise')['FlexEnterpriseSettingStatus']
@@ -75,12 +82,17 @@
const FlexWorkerEleSignEnumText: typeof import('./src/constants/cPerson')['FlexWorkerEleSignEnumText']
const Gender: typeof import('./src/constants/enum')['Gender']
const GenderText: typeof import('./src/constants/enum')['GenderText']
+ const GenericParameterAttributes: typeof import('./src/constants/apiEnum')['GenericParameterAttributes']
const IdentityCodeEnum: typeof import('./src/constants/dic')['IdentityCodeEnum']
const IsConfiguredText: typeof import('./src/constants/enterprise')['IsConfiguredText']
const IsRealText: typeof import('./src/constants/enterprise')['IsRealText']
+ const LayoutKind: typeof import('./src/constants/apiEnum')['LayoutKind']
+ const MemberTypes: typeof import('./src/constants/apiEnum')['MemberTypes']
const MenuSvgIconMap: typeof import('./src/constants/menu')['MenuSvgIconMap']
const MessageChannelEnum: typeof import('./src/constants/enterprise')['MessageChannelEnum']
const MessageChannelEnumText: typeof import('./src/constants/enterprise')['MessageChannelEnumText']
+ const MethodAttributes: typeof import('./src/constants/apiEnum')['MethodAttributes']
+ const MethodImplAttributes: typeof import('./src/constants/apiEnum')['MethodImplAttributes']
const ModuleColumns: typeof import('./src/constants/module')['ModuleColumns']
const MyRegExp: typeof import('./src/constants/regExp')['MyRegExp']
const OSSBaseURL: typeof import('./src/constants/oss')['OSSBaseURL']
@@ -96,15 +108,21 @@
const OssRich: typeof import('./src/constants/oss')['OssRich']
const OssUser: typeof import('./src/constants/oss')['OssUser']
const OssUserSign: typeof import('./src/constants/oss')['OssUserSign']
+ const ParameterAttributes: typeof import('./src/constants/apiEnum')['ParameterAttributes']
+ const PropertyAttributes: typeof import('./src/constants/apiEnum')['PropertyAttributes']
const RoleClientType: typeof import('./src/constants/role')['RoleClientType']
const SearchType: typeof import('./src/constants/dic')['SearchType']
const SearchTypeText: typeof import('./src/constants/dic')['SearchTypeText']
+ const SecurityRuleSet: typeof import('./src/constants/apiEnum')['SecurityRuleSet']
const SignChannelEnum: typeof import('./src/constants/enterprise')['SignChannelEnum']
const SignChannelEnumText: typeof import('./src/constants/enterprise')['SignChannelEnumText']
const SubModuleKey: typeof import('./src/constants/module')['SubModuleKey']
const SubModuleTitle: typeof import('./src/constants/module')['SubModuleTitle']
const SubModuleType: typeof import('./src/constants/module')['SubModuleType']
+ const TaskCreationOptions: typeof import('./src/constants/apiEnum')['TaskCreationOptions']
+ const TaskStatus: typeof import('./src/constants/apiEnum')['TaskStatus']
const ThemeColors: typeof import('./src/constants/theme')['ThemeColors']
+ const TypeAttributes: typeof import('./src/constants/apiEnum')['TypeAttributes']
const VerifyStatus: typeof import('./src/constants/enterprise')['VerifyStatus']
const VerifyStatusColor: typeof import('./src/constants/enterprise')['VerifyStatusColor']
const VerifyStatusText: typeof import('./src/constants/enterprise')['VerifyStatusText']
@@ -219,7 +237,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 { EnumBillingMethod, EnumClientType, EnumMenuType, EnumMenuVisitLevel, EnumPagedListOrder, EnumRealAccess, EnumResourceController, EnumResourceMethod, EnumRoleWebApiDataPower, EnumSettlementCycle, EnumSmsAccess, EnumTaskCheckReceiveStatus, EnumTaskRecommendStatus, EnumTaskReleaseStatus, EnumTaskSettlementStatus, EnumTaskStatus, EnumUserGender, EnumUserStatus, EnumUserType, EnumBillingMethod, EnumClientType, EnumMenuType, EnumMenuVisitLevel, EnumPagedListOrder, EnumRealAccess, EnumResourceController, EnumResourceMethod, EnumRoleWebApiDataPower, EnumSettlementCycle, EnumSmsAccess, EnumTaskCheckReceiveStatus, EnumTaskRecommendStatus, EnumTaskReleaseStatus, EnumTaskSettlementStatus, EnumTaskStatus, EnumUserGender, EnumUserStatus, EnumUserType } from './src/constants/apiEnum'
+ 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'
import('./src/constants/apiEnum')
// @ts-ignore
export type { FlexWorkerEleSignEnum, FlexTaskWorkerHireEnum, FlexWorkerEleSignEnum, FlexTaskWorkerHireEnum } from './src/constants/cPerson'
@@ -266,6 +284,7 @@
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']>
@@ -278,6 +297,8 @@
readonly EnterpriseConfigureType: UnwrapRef<typeof import('./src/constants/enterprise')['EnterpriseConfigureType']>
readonly EnterpriseConfigureTypeText: UnwrapRef<typeof import('./src/constants/enterprise')['EnterpriseConfigureTypeText']>
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']>
@@ -294,6 +315,7 @@
readonly EnumSettlementCycleText: UnwrapRef<typeof import('./src/constants/task')['EnumSettlementCycleText']>
readonly EnumSmsAccess: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumSmsAccess']>
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 EnumTaskRecommendStatus: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumTaskRecommendStatus']>
readonly EnumTaskRecommendStatusText: UnwrapRef<typeof import('./src/constants/task')['EnumTaskRecommendStatusText']>
@@ -303,14 +325,17 @@
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 EnumUserInfoStatusText: UnwrapRef<typeof import('./src/constants/user')['EnumUserInfoStatusText']>
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']>
@@ -319,10 +344,15 @@
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']>
@@ -338,11 +368,17 @@
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']>
@@ -451,4 +487,4 @@
readonly watchPostEffect: UnwrapRef<typeof import('vue')['watchPostEffect']>
readonly watchSyncEffect: UnwrapRef<typeof import('vue')['watchSyncEffect']>
}
-}
+}
\ No newline at end of file
diff --git a/src/components/WeMap/WeMap.vue b/src/components/WeMap/WeMap.vue
index 8706d7c..e8dddd4 100644
--- a/src/components/WeMap/WeMap.vue
+++ b/src/components/WeMap/WeMap.vue
@@ -13,7 +13,6 @@
<script setup lang="ts">
import { useAllAreaList } from '@/hooks';
-import { Message } from '@bole-core/core';
import { loadEnv } from '@build/index';
import { useFormItem } from 'element-plus';
@@ -87,6 +86,7 @@
cityCode: findAreaCodeFromName(cityName),
countyCode: findAreaCodeFromName(countyName),
address: loc.poiaddress,
+ addressName: loc.name,
});
if (props.validateEvent) {
formItem?.validate?.('change');
diff --git a/src/constants/apiEnum.ts b/src/constants/apiEnum.ts
index f260f44..d4ebf8b 100644
--- a/src/constants/apiEnum.ts
+++ b/src/constants/apiEnum.ts
@@ -125,6 +125,20 @@
AliyunSms = 10,
}
+/** 鐭俊妯℃澘绫诲瀷 */
+export enum EnumSmsTemplateType {
+ /**鐧诲綍 */
+ Login = 0,
+ /**娉ㄥ唽 */
+ Register = 1,
+ /**淇敼瀵嗙爜 */
+ UpdatePassword = 2,
+ /**缁戝畾鎵嬫満鍙风爜 */
+ BindPhoneNumber = 3,
+ /**淇敼鎵嬫満鍙风爜 */
+ UpdatePhoneNumber = 4,
+}
+
/** 浠诲姟缁撶畻鐘舵�� */
export enum EnumTaskCheckReceiveStatus {
/**寰呴獙鏀� */
diff --git a/src/constants/task.ts b/src/constants/task.ts
index fa7fd95..b615868 100644
--- a/src/constants/task.ts
+++ b/src/constants/task.ts
@@ -2,6 +2,7 @@
[EnumTaskStatus.Wait]: '寰呭畨鎺�',
[EnumTaskStatus.Complete]: '宸插畨鎺�',
};
+
export const EnumSettlementCycleText = {
[EnumSettlementCycle.Month]: '鏈堢粨',
[EnumSettlementCycle.Week]: '鍛ㄧ粨',
@@ -12,7 +13,27 @@
[EnumTaskReleaseStatus.InProcess]: '鍙戝竷涓�',
[EnumTaskReleaseStatus.Stopped]: '宸插仠姝�',
};
+
export const EnumTaskRecommendStatusText = {
[EnumTaskRecommendStatus.No]: '鏈帹鑽�',
[EnumTaskRecommendStatus.Yes]: '宸叉帹鑽�',
};
+
+export const EnumUserGenderText = {
+ [EnumUserGender.Male]: '鐢锋��',
+ [EnumUserGender.Female]: '濂虫��',
+};
+
+export const EnumBillingMethodText = {
+ [EnumBillingMethod.Month]: '鎸夋湀',
+ [EnumBillingMethod.Day]: '鎸夋棩',
+ [EnumBillingMethod.Hour]: '鎸夋椂',
+ [EnumBillingMethod.Piece]: '璁′欢',
+};
+
+export const EnumBillingMethodUnitText = {
+ [EnumBillingMethod.Month]: '鍏�/鏈�',
+ [EnumBillingMethod.Day]: '鍏�/鏃�',
+ [EnumBillingMethod.Hour]: '鍏�/灏忔椂',
+ [EnumBillingMethod.Piece]: '鍏�/浠�',
+};
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/typings.d.ts b/src/services/api/typings.d.ts
index bbbf1ab..5324984 100644
--- a/src/services/api/typings.d.ts
+++ b/src/services/api/typings.d.ts
@@ -122,13 +122,6 @@
ids: string[];
}
- interface DictionaryDataQueryModel {
- /** 缂栧彿 */
- code?: string;
- /** 鍚嶇О */
- name?: string;
- }
-
enum EnumBillingMethod {
/**鎸夋湀 */
Month = 10,
@@ -240,6 +233,19 @@
enum EnumSmsAccess {
/**闃块噷浜戠煭淇� */
AliyunSms = 10,
+ }
+
+ enum EnumSmsTemplateType {
+ /**鐧诲綍 */
+ Login = 0,
+ /**娉ㄥ唽 */
+ Register = 1,
+ /**淇敼瀵嗙爜 */
+ UpdatePassword = 2,
+ /**缁戝畾鎵嬫満鍙风爜 */
+ BindPhoneNumber = 3,
+ /**淇敼鎵嬫満鍙风爜 */
+ UpdatePhoneNumber = 4,
}
enum EnumTaskCheckReceiveStatus {
@@ -1159,26 +1165,30 @@
serviceFee?: number;
settlementCycle?: EnumSettlementCycle;
/** 绂忓埄 */
- benefits?: DictionaryDataQueryModel[];
+ benefits?: GetTaskInfoQueryResultBenefit[];
/** 骞撮緞鑼冨洿鏈�灏� */
ageMinLimit?: number;
/** 骞撮緞鑼冨洿澶� */
ageMaxLimit?: number;
genderLimit?: EnumUserGender;
/** 璧勬牸璇佷功绫诲瀷 */
- credentialLimits?: DictionaryDataQueryModel[];
+ credentialLimits?: GetTaskInfoQueryResultCredentialLimit[];
/** 浠诲姟鍦扮偣鎵�灞炵渷浠界紪鍙� */
provinceCode?: string;
/** 浠诲姟鍦扮偣鎵�灞炵渷浠� */
- provinceName?: string;
+ provinceContent?: string;
/** 浠诲姟鍦扮偣鎵�灞炲煄甯傜紪鍙� */
cityCode?: string;
/** 浠诲姟鍦扮偣鎵�灞炲煄甯� */
- cityName?: string;
+ cityContent?: string;
/** 浠诲姟鍦扮偣鍚嶇О */
addressName?: string;
/** 浠诲姟鍦扮偣璇︾粏鍦板潃 */
addressDetail?: string;
+ /** 缁忓害 */
+ longitude?: number;
+ /** 绾害 */
+ latitude?: number;
/** 浠诲姟寮�濮嬫椂闂� */
beginTime?: string;
/** 浠诲姟缁撴潫鏃堕棿 */
@@ -1189,12 +1199,28 @@
isCollected?: boolean;
}
+ interface GetTaskInfoQueryResultBenefit {
+ /** 绂忓埄缂栧彿 */
+ benefitCode?: string;
+ /** 绂忓埄 */
+ benefitContent?: string;
+ }
+
+ interface GetTaskInfoQueryResultCredentialLimit {
+ /** 璇佷功绫诲瀷缂栧彿 */
+ typeCode?: string;
+ /** 璇佷功绫诲瀷 */
+ typeContent?: string;
+ }
+
interface GetTaskInfosQuery {
pageModel?: PagedListQueryPageModel;
/** 鍏抽敭瀛楋紙浠诲姟鍚嶇О锛� */
keywords?: string;
- /** 鍙戝竷鏃堕棿 */
- time?: string;
+ /** 鍙戝竷鏃堕棿-寮�濮� */
+ beginTime?: string;
+ /** 鍙戝竷鏃堕棿-缁撴潫 */
+ endTime?: string;
/** 浠诲姟鍦扮偣鎵�灞炲煄甯傜紪鍙� */
cityCode?: string;
settlementCycle?: EnumSettlementCycle;
@@ -1217,7 +1243,27 @@
/** 鏈嶅姟璐� */
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;
@@ -1594,6 +1640,12 @@
data?: any;
}
+ interface SendVerifyCodeCommand {
+ /** 鎵嬫満鍙风爜 */
+ phoneNumber?: string;
+ templateCode?: EnumSmsTemplateType;
+ }
+
interface SetDictionaryDataIsDisabledCommand {
ids?: string[];
/** 鏄惁宸茬鐢� */
diff --git a/src/services/api/user.ts b/src/services/api/user.ts
index 3d4e6e0..a398d43 100644
--- a/src/services/api/user.ts
+++ b/src/services/api/user.ts
@@ -35,6 +35,21 @@
});
}
+/** 鏌ヨ鐢ㄦ埛绠�鍘� 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,
diff --git a/src/views/TaskManage/TaskManageList.vue b/src/views/TaskManage/TaskManageList.vue
index b6433ff..1f3e545 100644
--- a/src/views/TaskManage/TaskManageList.vue
+++ b/src/views/TaskManage/TaskManageList.vue
@@ -66,6 +66,8 @@
import { ModelValueType } from 'element-plus';
import * as taskServices from '@/services/api/task';
import { EnumTaskReleaseStatusText, EnumTaskRecommendStatusText } from '@/constants';
+import { format } from '@/utils';
+import { Message } from '@bole-core/core';
defineOptions({
name: 'OperationManageList',
@@ -74,16 +76,16 @@
const operationBtnMap: Record<string, OperationBtnType> = {
detailBtn: { emits: { onClick: (role) => goDetail(role) } },
recommendBtn: {
- emits: { onClick: (role) => setAdvertiseOnShowStatus(role) },
+ emits: { onClick: (role) => setTaskInfoRecommendStatus(role) },
extraProps: {
- hide: (row) => row.status,
+ hide: (row) => row.recommendStatus === EnumTaskRecommendStatus.Yes,
},
},
cancelRecommendBtn: {
- emits: { onClick: (role) => setAdvertiseOnShowStatus(role) },
+ emits: { onClick: (role) => setTaskInfoRecommendStatus(role) },
props: { type: 'danger' },
extraProps: {
- hide: (row) => !row.status,
+ hide: (row) => row.recommendStatus === EnumTaskRecommendStatus.No,
},
},
};
@@ -122,7 +124,8 @@
keywords: extraParamState.keywords,
releaseStatus: extraParamState.releaseStatus,
recommendStatus: extraParamState.recommendStatus,
- // time: extraParamState.time,
+ 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 taskServices.getTaskInfos(params, {
showLoading: !state.loading,
@@ -142,8 +145,23 @@
}
);
-async function setAdvertiseOnShowStatus(row) {
+async function setTaskInfoRecommendStatus(row: API.GetTaskInfosQueryResultItem) {
try {
+ await Message.tipMessage(
+ `纭瑕�${row.recommendStatus === EnumTaskRecommendStatus.Yes ? '鍙栨秷' : '鎺ㄨ崘'}鍚楋紵`
+ );
+ let params: API.SetTaskInfoRecommendStatusCommand = {
+ ids: [row.id],
+ recommendStatus:
+ row.recommendStatus === EnumTaskRecommendStatus.Yes
+ ? EnumTaskRecommendStatus.No
+ : EnumTaskRecommendStatus.Yes,
+ };
+ let res = await taskServices.setTaskInfoRecommendStatus(params);
+ if (res) {
+ Message.successMessage('鎿嶄綔鎴愬姛');
+ getList(paginationState.pageIndex);
+ }
} catch (error) {}
}
diff --git a/src/views/TaskManage/components/TaskDetailView.vue b/src/views/TaskManage/components/TaskDetailView.vue
index 668e441..ab2fac9 100644
--- a/src/views/TaskManage/components/TaskDetailView.vue
+++ b/src/views/TaskManage/components/TaskDetailView.vue
@@ -2,99 +2,119 @@
<LoadingLayout :loading="isLoading">
<AppContainer>
<PageFormLayout>
- <ProForm :model="detail" ref="formRef" label-width="140px" is-read>
+ <ProForm :model="form" ref="productFormRef" label-width="110px" is-read>
<ProFormCol>
<ProFormColItem :span="12">
<ProFormItemV2 label="浠诲姟鍚嶇О:" prop="name">
- <ProFormText v-model.trim="detail.enterpriseName" />
+ <ProFormText v-model.trim="form.name" placeholder="璇疯緭鍏ヤ换鍔″悕绉�" />
</ProFormItemV2>
</ProFormColItem>
</ProFormCol>
<ProFormCol>
- <ProFormItemV2 label="鏈嶅姟璐�:" prop="salaryType">
- <RadioWithExtra
- v-model="detail.enterpriseName"
- :value-enum="[
- { value: 1, text: '鎸夋湀' },
- { value: 2, text: '鎸夋棩' },
- ]"
- enumLabelKey="text"
- enum-value-key="value"
- :showExtra="true"
- >
- <template #extra>
- <ProFormInputNumber
- :controls="false"
- v-model="detail.enterpriseName"
- :unit="detail.enterpriseName === '' ? '鍏�/鏈�' : '鍏�/鏃�'"
- ></ProFormInputNumber>
- </template>
- </RadioWithExtra>
- </ProFormItemV2>
+ <ProFormColItem :span="12">
+ <ProFormItemV2 label="鏈嶅姟璐�:" prop="billingMethod">
+ <RadioWithExtra
+ v-model="form.billingMethod"
+ :value-enum="EnumBillingMethodText"
+ :showExtra="true"
+ :button-style="false"
+ >
+ <template #extra>
+ <ProFormInputNumber
+ :controls="false"
+ v-model="form.serviceFee"
+ placeholder="璇疯緭鍏�"
+ :unit="EnumBillingMethodUnitText[form.billingMethod]"
+ ></ProFormInputNumber>
+ </template>
+ </RadioWithExtra>
+ </ProFormItemV2>
+ </ProFormColItem>
</ProFormCol>
<ProFormCol>
<ProFormColItem :span="12">
- <ProFormItemV2 label="缁撶畻鏂瑰紡:" prop="salaryType">
+ <ProFormItemV2 label="缁撶畻鏂瑰紡:" prop="settlementCycle">
<ProFormRadio
- v-model="detail.enterpriseName"
- :value-enum="[
- { label: '鏈堢粨', value: 1 },
- { label: '鏃ョ粨', value: 2 },
- ]"
- />
+ v-model="form.settlementCycle"
+ :value-enum="EnumSettlementCycleText"
+ :button-style="false"
+ ></ProFormRadio>
</ProFormItemV2>
</ProFormColItem>
</ProFormCol>
<ProFormCol>
<ProFormColItem :span="12">
- <ProFormItemV2 label="绂忓埄:" prop="salaryType">
- <ProFormRadio v-model="detail.enterpriseName" :value-enum="dictionaryDataList" />
+ <ProFormItemV2 label="绂忓埄:" prop="benefits">
+ <ProFormCheckbox
+ v-model="form.benefits"
+ :value-enum="welfareList"
+ enumLabelKey="name"
+ enum-value-key="code"
+ ></ProFormCheckbox>
</ProFormItemV2>
</ProFormColItem>
</ProFormCol>
<ProFormCol>
<ProFormColItem :span="12">
- <ProFormItemV2 label="骞撮緞鑼冨洿:" prop="ageRange">
- <ProFormInputNumber v-model="detail.enterpriseName"></ProFormInputNumber>
+ <ProFormItemV2 label="骞撮緞鑼冨洿:" prop="ageRange" class="form-age-range">
+ <ProFormInputNumber
+ :controls="false"
+ :min="0"
+ v-model="form.ageMinLimit"
+ placeholder="璇疯緭鍏�"
+ ></ProFormInputNumber>
+ <div class="form-input-separator">鑷�</div>
+ <ProFormInputNumber
+ :controls="false"
+ :min="0"
+ v-model="form.ageMaxLimit"
+ placeholder="璇疯緭鍏�"
+ ></ProFormInputNumber>
</ProFormItemV2>
</ProFormColItem>
</ProFormCol>
<ProFormCol>
<ProFormColItem :span="12">
- <ProFormItemV2 label="鎬у埆闇�姹�:" prop="salaryType">
+ <ProFormItemV2 label="鎬у埆瑕佹眰:" prop="genderLimit">
<ProFormRadio
- v-model="detail.enterpriseName"
- :value-enum="[
- { label: '鐢�', value: 1 },
- { label: '濂�', value: 2 },
- ]"
- />
+ v-model="form.genderLimit"
+ :value-enum="EnumUserGenderText"
+ show-all-btn
+ ></ProFormRadio>
</ProFormItemV2>
</ProFormColItem>
</ProFormCol>
<ProFormCol>
<ProFormColItem :span="12">
- <ProFormItemV2 label="璧勬牸璇佷功:" prop="salaryType">
- <ProFormRadio v-model="detail.enterpriseName" :value-enum="dictionaryDataList" />
+ <ProFormItemV2 label="璧勬牸璇佷功:" prop="credentialLimits">
+ <ProFormCheckbox
+ v-model="form.credentialLimits"
+ :value-enum="certificateTypeList"
+ enumLabelKey="name"
+ enum-value-key="code"
+ ></ProFormCheckbox>
</ProFormItemV2>
</ProFormColItem>
</ProFormCol>
<ProFormCol>
<ProFormColItem :span="12">
- <ProFormItemV2 label="浠诲姟鍦扮偣:" prop="areaList">
- <!-- <ProFromAddressSelectV2
- v-model:areaList="detail.areaList"
- areaListPlaceholder="璇烽�夋嫨"
- :layer="AreaType.Area"
- /> -->
+ <ProFormItemV2 label="浠诲姟鍦扮偣:" prop="weMapInfo">
+ <WeMap v-model="form.weMapInfo" />
</ProFormItemV2>
</ProFormColItem>
</ProFormCol>
<ProFormCol>
<ProFormColItem :span="12">
- <ProFormItemV2 label="浠诲姟鏃堕棿:" prop="creationTime" mode="read">
+ <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="detail.enterpriseName"
+ v-model="form.time"
type="daterange"
range-separator="鑷�"
start-placeholder="寮�濮嬫棩鏈�"
@@ -125,10 +145,18 @@
ProFormInputNumber,
ProFormRadio,
ProFormDatePicker,
+ ProFormCheckbox,
} from '@bole-core/components';
import { useQuery } from '@tanstack/vue-query';
-import { AreaType } from '@/constants';
-import * as enterpriseServices from '@/services/api/enterprise';
+import * as taskServices from '@/services/api/task';
+import {
+ EnumUserGenderText,
+ EnumBillingMethodText,
+ EnumBillingMethodUnitText,
+ EnumSettlementCycleText,
+} from '@/constants';
+import { ModelValueType } from 'element-plus';
+import { format } from '@/utils';
defineOptions({
name: 'TaskDetailView',
@@ -137,21 +165,64 @@
const route = useRoute();
const id = route.params?.id as string;
const { closeViewPush } = useRouteView();
-const { dictionaryDataList } = useDictionaryDataSelect({
- categoryCode: computed(() => CategoryCode.Welfare),
+const { dictionaryDataList: welfareList } = useDictionaryDataSelect({
+ categoryCode: CategoryCode.Welfare,
+});
+const { dictionaryDataList: certificateTypeList } = useDictionaryDataSelect({
+ categoryCode: CategoryCode.CertificateType,
});
-const { data: detail, isLoading } = useQuery({
- queryKey: ['enterpriseServices/getEnterprise', id],
+const form = reactive({
+ name: '',
+ billingMethod: '' as any as EnumBillingMethod,
+ serviceFee: 0,
+ settlementCycle: '' as any as EnumSettlementCycle,
+ benefits: [] as string[],
+ ageMinLimit: 0,
+ ageMaxLimit: 0,
+ genderLimit: '' as any as EnumUserGender,
+ credentialLimits: [] as string[],
+ time: [] as unknown as ModelValueType,
+ weMapInfo: {} as WeMapModel,
+ addressDetail: '',
+});
+
+const { isLoading } = useQuery({
+ queryKey: ['taskServices/getTaskInfo', id],
queryFn: async () => {
- return await enterpriseServices.getEnterprise(
+ return await taskServices.getTaskInfo(
{ id: id },
{
showLoading: false,
}
);
},
- placeholderData: () => ({} as API.GetEnterpriseQueryResult),
+ placeholderData: () => ({} as API.GetTaskInfoQueryResult),
+ onSuccess(data) {
+ form.name = data.name;
+ form.billingMethod = data.billingMethod;
+ form.serviceFee = data.serviceFee;
+ form.settlementCycle = data.settlementCycle;
+ form.benefits = data.benefits?.map((x) => x.code) ?? [];
+ form.ageMinLimit = data.ageMinLimit;
+ form.ageMaxLimit = data.ageMaxLimit;
+ form.genderLimit = data.genderLimit;
+ form.credentialLimits = data.credentialLimits?.map((x) => x.code) ?? [];
+ 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.provinceName,
+ cityName: data.cityName,
+ provinceCode: data.provinceCode,
+ cityCode: data.cityCode,
+ addressName: data.addressName,
+ };
+ form.addressDetail = data.addressDetail;
+ },
enabled: computed(() => !!id),
});
diff --git a/types/global.d.ts b/types/global.d.ts
index b091bab..4c54821 100644
--- a/types/global.d.ts
+++ b/types/global.d.ts
@@ -141,6 +141,7 @@
cityCode?: string;
countyCode?: string;
address?: string;
+ addressName?: string;
}
interface CommonAnnexItem {
--
Gitblit v1.9.1