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