From 40dde4ab3fea8ab7ee2513e87d28a3f3be35be91 Mon Sep 17 00:00:00 2001 From: Your Name Date: Thu, 16 Apr 2026 18:33:46 +0800 Subject: [PATCH 1/2] =?UTF-8?q?fix:=E6=9B=B4=E6=96=B0BUG?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/Select.tsx | 136 +++++++ src/gen/ApiTypes.d.ts | 341 +++++++++++------- src/gen/Apis.ts | 113 +++--- .../attendance/attendance_configs/index.tsx | 19 +- .../attendance_configs/modals/Update.tsx | 12 + .../quality/emergency/categories/index.tsx | 50 +-- .../emergency/categories/modals/Create.tsx | 9 +- src/pages/quality/emergency/events/index.tsx | 65 ++-- src/pages/quality/emergency/follows/index.tsx | 56 +-- src/pages/quality/emergency/levels/index.tsx | 50 +-- .../emergency/levels/modals/Create.tsx | 9 +- src/pages/quality/emergency/teams/index.tsx | 51 +-- .../components/QuestionCategoriesList.tsx | 47 +-- .../survey/components/QuestionsList.tsx | 49 +-- .../survey/components/SurveyReleasesList.tsx | 88 ++--- .../survey/components/SurveyResponsesList.tsx | 4 +- .../survey/components/SurveysList.tsx | 101 ++---- .../survey/modals/SurveyReleasesCreate.tsx | 1 + .../survey/modals/SurveyReleasesUpdate.tsx | 1 + 19 files changed, 632 insertions(+), 570 deletions(-) diff --git a/src/components/Select.tsx b/src/components/Select.tsx index d4a6900..c402a59 100644 --- a/src/components/Select.tsx +++ b/src/components/Select.tsx @@ -1031,4 +1031,140 @@ export const Selects = { }, }; }, + //获取题目分类 + QuestionCategories(props?: PropsType): ReturnType { + const { + title = '所属分类', + key = 'category_id', + required = false, + hideInTable = true, + ...rest + } = props ?? {}; + + return { + title: title, + key: key, + valueType: 'select', + hideInTable: hideInTable, + formItemProps: { ...(required ? rulesHelper.number : {}) }, + request: async (params) => { + let res = await Apis.Survey.QuestionCategories.Select({ + ...params, + name: params?.keyWords || undefined, + }); + return res?.data; + }, + ...rest, + fieldProps: { + showSearch: true, + fieldNames: { + label: 'name', + value: 'id', + }, + ...rest?.fieldProps, + }, + }; + }, + //获取问卷 + Surveys(props?: PropsType): ReturnType { + const { + title = '选择问卷', + key = 'surveys_id', + required = false, + hideInTable = true, + ...rest + } = props ?? {}; + + return { + title: title, + key: key, + valueType: 'select', + hideInTable: hideInTable, + formItemProps: { ...(required ? rulesHelper.number : {}) }, + request: async (params) => { + let res = await Apis.Survey.Surveys.Select({ + ...params, + name: params?.keyWords || undefined, + }); + return res?.data; + }, + ...rest, + fieldProps: { + showSearch: true, + fieldNames: { + label: 'name', + value: 'id', + }, + ...rest?.fieldProps, + }, + }; + }, + //突发事件分类 + EmergencyCategories(props?: PropsType): ReturnType { + const { + title = '选择分类', + key = 'two_emergency_categories_id', + required = false, + hideInTable = true, + ...rest + } = props ?? {}; + + return { + title: title, + key: key, + valueType: 'cascader', + hideInTable: hideInTable, + formItemProps: { ...(required ? rulesHelper.number : {}) }, + request: async (params) => { + let res = await Apis.Emergency.EmergencyEventCategories.SelectTree({ + ...params, + name: params?.keyWords || undefined, + }); + return res?.data; + }, + ...rest, + fieldProps: { + showSearch: true, + allowClear: true, + // changeOnSelect: true, + treeDefaultExpandAll: true, + fieldNames: { + label: 'name', + value: 'id', + }, + ...rest?.fieldProps, + }, + }; + }, + //突发事件等级 + EmergencyEventLevels(props?: PropsType): ReturnType { + const { + title = '选择等级', + key = 'emergency_event_levels_id', + required = false, + hideInTable = true, + ...rest + } = props ?? {}; + + return { + title: title, + key: key, + valueType: 'select', + hideInTable: hideInTable, + formItemProps: { ...(required ? rulesHelper.number : {}) }, + request: async (params) => { + let res = await Apis.Emergency.EmergencyEventLevels.Select({ + ...params, + name: params?.keyWords || undefined, + }); + return res?.data; + }, + ...rest, + fieldProps: { + showSearch: true, + allowClear: true, + ...rest?.fieldProps, + }, + }; + }, }; diff --git a/src/gen/ApiTypes.d.ts b/src/gen/ApiTypes.d.ts index 6a75260..efbf20a 100644 --- a/src/gen/ApiTypes.d.ts +++ b/src/gen/ApiTypes.d.ts @@ -673,8 +673,7 @@ declare namespace ApiTypes { namespace Attendance { namespace AttendanceConfigs { type List = { - "page"?: number; // - - "per_page"?: number; // - + "project_name"?: string; // - }; type Store = { "asset_projects_id": number; // 项目ID @@ -692,6 +691,9 @@ declare namespace ApiTypes { "id": number; // id "is_enabled": boolean; // 是否启用: 1:启用 0:禁用 }; + type Delete = { + "id": number; // id + }; } namespace AttendanceEmployeeTracks { type List = { @@ -2256,193 +2258,264 @@ declare namespace ApiTypes { namespace Emergency { namespace EmergencyEventBills { type List = { - "emergency_events_id"?: number; // - - "cost_type"?: string; // - - "fee_type"?: string; // - - "fee_name"?: string; // - - "payment_status"?: string; // - - "payment_method"?: string; // - + "emergency_events_id"?: number; // 突发事件ID,[ref:emergency_events] + "cost_type"?: string; // 收支类型,[enum:EmergencyEventBillsCostTypeEnum] + "fee_type"?: string; // 费用类型,[enum:EmergencyEventBillsFeeTypeEnum] + "fee_name"?: string; // 费用名称 + "payment_status"?: string; // 支付状态,[enum:EmergencyEventBillsPaymentStatusEnum] + "payment_method"?: string; // 支付方式,[enum:EmergencyEventBillsPaymentMethodEnum] }; type Store = { - "emergency_events_id": number; // - - "cost_type": string; // - - "fee_type": string; // - - "fee_name": string; // - - "amount": number; // - - "payee": string; // - - "payee_bank": string; // - - "payee_account": string; // - - "payer": string; // - - "payer_bank": string; // - - "payer_account": string; // - + "emergency_events_id": number; // 突发事件ID,[ref:emergency_events] + "cost_type": string; // 收支类型,[enum:EmergencyEventBillsCostTypeEnum] + "fee_type": string; // 费用类型,[enum:EmergencyEventBillsFeeTypeEnum] + "fee_name": string; // 费用名称 + "amount": number; // 金额 + "payee": string; // 收款方 + "payee_bank": string; // 收款方银行 + "payee_account": string; // 收款方账号 + "payer": string; // 付款方 + "payer_bank": string; // 付款方银行 + "payer_account": string; // 付款方账号 }; type Update = { - "id": number; // - - "cost_type": string; // - - "fee_type": string; // - - "fee_name": string; // - - "amount": number; // - - "payee": string; // - - "payee_bank": string; // - - "payee_account": string; // - - "payer": string; // - - "payer_bank": string; // - - "payer_account": string; // - + "id": number; // id + "cost_type": string; // 收支类型,[enum:EmergencyEventBillsCostTypeEnum] + "fee_type": string; // 费用类型,[enum:EmergencyEventBillsFeeTypeEnum] + "fee_name": string; // 费用名称 + "amount": number; // 金额 + "payee": string; // 收款方 + "payee_bank": string; // 收款方银行 + "payee_account": string; // 收款方账号 + "payer": string; // 付款方 + "payer_bank": string; // 付款方银行 + "payer_account": string; // 付款方账号 + }; + type Show = { + "id": number; // id + }; + type SoftDelete = { + "id": number; // id + }; + type Restore = { + "id": number; // id + }; + type Delete = { + "id": number; // id }; } namespace EmergencyEventCategories { type List = { - "name"?: string; // - - "parent_id"?: number; // - + "name"?: string; // 模糊搜索:名称 + "parent_id"?: number; // 父级ID }; type TreeList = { - "name"?: string; // - - "parent_id"?: number; // - + "name"?: string; // 模糊搜索:名称 + "parent_id"?: number; // 父级ID }; type Store = { - "name": string; // - - "description"?: string; // - - "is_enabled"?: number; // - - "_lft"?: number; // - - "_rgt"?: number; // - - "parent_id"?: number; // - + "name": string; // 分类名称 + "description"?: string; // 分类描述 + "is_enabled"?: number; // 是否启用:0-否,1-是 + "parent_id"?: number; // 父级分类ID }; type Update = { - "id": number; // - - "name": string; // - - "description"?: string; // - - "is_enabled"?: number; // - - "_lft"?: number; // - - "_rgt"?: number; // - - "parent_id"?: number; // - + "id": number; // id + "name": string; // 分类名称 + "description"?: string; // 分类描述 + "is_enabled"?: number; // 是否启用:0-否,1-是 + "parent_id"?: number; // 父级分类ID }; type Move = { - "id": number; // - - "type": string; // - + "id": number; // ID + "type": string; // 类型:up-上移,down-下移 + }; + type Show = { + "id": number; // id + }; + type SoftDelete = { + "id": number; // id + }; + type Restore = { + "id": number; // id + }; + type Delete = { + "id": number; // id + }; + type Select = { + "keywords"?: string; // 关键词 }; type SelectTree = { - "keywords"?: string; // - - "type"?: string; // - - "parent_id"?: number; // - + "keywords"?: string; // 关键词 + "type"?: string; // 类型 + "parent_id"?: number; // 父级ID }; } namespace EmergencyEventFollows { type List = { - "emergency_events_id": number; // - - "content"?: string; // - + "emergency_events_id": number; // 突发事件ID,[ref:emergency_events] + "content"?: string; // 跟进内容 }; type Store = { - "emergency_events_id": number; // - - "content": string; // - - "attachments"?: string[]; // - + "emergency_events_id": number; // 突发事件ID,[ref:emergency_events] + "content": string; // 跟进内容 + "attachments"?: string[]; // 附件 + }; + type Show = { + "id": number; // id + }; + type Delete = { + "id": number; // id }; } namespace EmergencyEventLevels { + type List = { + "name"?: string; // 模糊搜索:名称 + }; type Store = { - "name": string; // - - "is_enabled"?: number; // - + "name": string; // 名称 + "is_enabled"?: number; // 是否启用:0-否,1-是 }; type Update = { - "id": number; // - - "name": string; // - - "is_enabled"?: number; // - + "id": number; // id + "name": string; // 名称 + "is_enabled"?: number; // 是否启用:0-否,1-是 + }; + type Show = { + "id": number; // id + }; + type SoftDelete = { + "id": number; // id + }; + type Restore = { + "id": number; // id + }; + type Delete = { + "id": number; // id + }; + type Select = { + "name"?: string; // 名称 }; } namespace EmergencyEventTeams { type List = { - "name"?: string; // - - "leader_name"?: string; // - + "name"?: string; // 模糊搜索:名称 + "leader_name"?: string; // 队长名称 }; type Store = { - "name": string; // - - "asset_projects_id": number; // - - "company_employees_id": number; // - - "is_enabled"?: number; // - - "members"?: string[]; // - + "name": string; // 名称 + "asset_projects_id": number; // 项目ID,[ref:asset_projects] + "company_employees_id": number; // 组长员工ID,[ref:company_employees] + "is_enabled"?: number; // 是否启用:0-否,1-是 + "members"?: string[]; // 团队成员 }; type Update = { - "id": number; // - - "name": string; // - - "asset_projects_id": number; // - - "company_employees_id": number; // - - "is_enabled"?: number; // - - "members"?: string[]; // - + "id": number; // id + "name": string; // 名称 + "asset_projects_id": number; // 项目ID,[ref:asset_projects] + "company_employees_id": number; // 组长员工ID,[ref:company_employees] + "is_enabled"?: number; // 是否启用:0-否,1-是 + "members"?: string[]; // 团队成员 + }; + type Show = { + "id": number; // id + }; + type SoftDelete = { + "id": number; // id + }; + type Restore = { + "id": number; // id + }; + type Delete = { + "id": number; // id }; type Select = { - "name"?: string; // - - "leader_name"?: string; // - + "name"?: string; // 模糊搜索:名称 + "leader_name"?: string; // 队长名称 }; } namespace EmergencyEvents { type List = { - "name"?: string; // - - "asset_projects_id"?: number; // - - "asset_projects_name"?: string; // - - "emergency_event_employees_id"?: number; // - - "reporter_name"?: string; // - - "emergency_time"?: string[]; // - - "status"?: string; // - - "audit_status"?: string; // - + "name"?: string; // 模糊搜索:事件名称 + "asset_projects_id"?: number; // 事发项目ID + "asset_projects_name"?: string; // 事发项目名称 + "emergency_event_employees_id"?: number; // 报事人ID + "reporter_name"?: string; // 报事人名称 + "emergency_time"?: string[]; // 事发时间范围 + "status"?: string; // 状态,[enum:EmergencyEventsStatusEnum] + "audit_status"?: string; // 审核状态,[enum:EmergencyEventsAuditStatusEnum] }; type Store = { - "name": string; // - - "two_emergency_categories_id": number; // - - "emergency_event_levels_id": number; // - - "asset_projects_id": number; // - - "emergency_time": Date; // - - "emergency_location": string; // - - "emergency_description": string; // - - "emergency_cause": string; // - - "cause_result": string; // - - "emergency_images"?: string[]; // - - "emergency_events_id"?: number; // - - "related_person"?: string; // - - "supplement"?: string; // - - "compensation_type"?: string; // - - "compensation_rate"?: number; // - - "compensation_amount"?: number; // - - "compensation_paid_amount"?: number; // - - "emergency_event_organizations_id": number; // - + "name": string; // 事件名称 + "two_emergency_categories_id": number; // 二级分类ID,[ref:emergency_event_categories] + "emergency_event_levels_id": number; // 事件等级ID,[ref:emergency_event_levels] + "asset_projects_id": number; // 项目ID,[ref:asset_projects] + "emergency_time": Date; // 事件发生时间 + "emergency_location": string; // 事件发生地点 + "emergency_description": string; // 事件描述 + "emergency_cause": string; // 事件原因 + "cause_result": string; // 造成结果 + "emergency_images"?: string[]; // 事件图片 + "emergency_events_id"?: number; // 关联事件ID,[ref:emergency_events] + "related_person"?: string; // 关联人物 + "supplement"?: string; // 补充信息 + "compensation_type"?: string; // 赔偿类型,[enum:EmergencyEventsCompensationTypeEnum] + "compensation_rate"?: number; // 赔偿比例 + "compensation_amount"?: number; // 赔偿金额 + "compensation_paid_amount"?: number; // 已支付赔偿金额 + "emergency_event_organizations_id": number; // 提报组织ID,[ref:organizations] }; type Update = { - "id": number; // - - "name": string; // - - "two_emergency_categories_id": number; // - - "emergency_event_levels_id": number; // - - "emergency_event_levels_name"?: string; // - - "asset_projects_id": number; // - - "emergency_time": Date; // - - "emergency_location": string; // - - "emergency_description": string; // - - "emergency_cause": string; // - - "cause_result": string; // - - "emergency_images"?: string[]; // - - "emergency_events_id"?: number; // - - "related_person"?: string; // - - "supplement"?: string; // - - "compensation_type"?: string; // - - "compensation_rate"?: number; // - - "compensation_amount"?: number; // - - "compensation_paid_amount"?: number; // - + "id": number; // id + "name": string; // 事件名称 + "two_emergency_categories_id": number; // 二级分类ID,[ref:emergency_event_categories] + "emergency_event_levels_id": number; // 事件等级ID,[ref:emergency_event_levels] + "emergency_event_levels_name"?: string; // 事件等级名称 + "asset_projects_id": number; // 项目ID,[ref:asset_projects] + "emergency_time": Date; // 事件发生时间 + "emergency_location": string; // 事件发生地点 + "emergency_description": string; // 事件描述 + "emergency_cause": string; // 事件原因 + "cause_result": string; // 造成结果 + "emergency_images"?: string[]; // 事件图片 + "emergency_events_id"?: number; // 关联事件ID,[ref:emergency_events] + "related_person"?: string; // 关联人物 + "supplement"?: string; // 补充信息 + "compensation_type"?: string; // 赔偿类型,[enum:EmergencyEventsCompensationTypeEnum] + "compensation_rate"?: number; // 赔偿比例 + "compensation_amount"?: number; // 赔偿金额 + "compensation_paid_amount"?: number; // 已支付赔偿金额 + }; + type Show = { + "id": number; // id }; type Assign = { - "id": number; // - - "two_emergency_categories_id": number; // - - "emergency_event_teams_id"?: number; // - + "id": number; // id + "two_emergency_categories_id": number; // 二级分类ID,[ref:emergency_event_categories] + "emergency_event_teams_id"?: number; // 处理团队ID,[ref:emergency_event_teams] }; type ApplyClose = { - "id": number; // - - "handled_result"?: string; // - - "introspection"?: string; // - + "id": number; // id + "handled_result"?: string; // 处理结果 + "introspection"?: string; // 反思与总结 }; type Audit = { - "id": number; // - - "audit_status": string; // - - "audit_remark"?: string; // - + "id": number; // id + "audit_status": string; // 审核状态,[enum:EmergencyEventsAuditStatusEnum] + "audit_remark"?: string; // 审核备注 + }; + type SoftDelete = { + "id": number; // id + }; + type Restore = { + "id": number; // id + }; + type Delete = { + "id": number; // id }; type Select = { - "keywords"?: string; // - - "asset_projects_id"?: number; // - + "keywords"?: string; // 关键词 + "asset_projects_id"?: number; // 项目ID }; } } @@ -3563,6 +3636,8 @@ declare namespace ApiTypes { } } namespace Statistics { + namespace ContractsCount { + } namespace IndexCount { } } diff --git a/src/gen/Apis.ts b/src/gen/Apis.ts index 8a6b041..2797f9e 100644 --- a/src/gen/Apis.ts +++ b/src/gen/Apis.ts @@ -335,6 +335,9 @@ export const Apis = { Enable(data: ApiTypes.Attendance.AttendanceConfigs.Enable): Promise { return request('company/attendance/attendance_configs/enable', { data }); }, + Delete(data: ApiTypes.Attendance.AttendanceConfigs.Delete): Promise { + return request('company/attendance/attendance_configs/delete', { data }); + }, }, AttendanceEmployeeTracks: { List(data?: ApiTypes.Attendance.AttendanceEmployeeTracks.List): Promise { @@ -1211,17 +1214,17 @@ export const Apis = { Update(data: ApiTypes.Emergency.EmergencyEventBills.Update): Promise { return request('company/emergency/emergency_event_bills/update', { data }); }, - Show(): Promise { - return request('company/emergency/emergency_event_bills/show', {}); + Show(data: ApiTypes.Emergency.EmergencyEventBills.Show): Promise { + return request('company/emergency/emergency_event_bills/show', { data }); }, - SoftDelete(): Promise { - return request('company/emergency/emergency_event_bills/soft_delete', {}); + SoftDelete(data: ApiTypes.Emergency.EmergencyEventBills.SoftDelete): Promise { + return request('company/emergency/emergency_event_bills/soft_delete', { data }); }, - Restore(): Promise { - return request('company/emergency/emergency_event_bills/restore', {}); + Restore(data: ApiTypes.Emergency.EmergencyEventBills.Restore): Promise { + return request('company/emergency/emergency_event_bills/restore', { data }); }, - Delete(): Promise { - return request('company/emergency/emergency_event_bills/delete', {}); + Delete(data: ApiTypes.Emergency.EmergencyEventBills.Delete): Promise { + return request('company/emergency/emergency_event_bills/delete', { data }); }, }, EmergencyEventCategories: { @@ -1240,20 +1243,20 @@ export const Apis = { Move(data: ApiTypes.Emergency.EmergencyEventCategories.Move): Promise { return request('company/emergency/emergency_event_categories/move', { data }); }, - Show(): Promise { - return request('company/emergency/emergency_event_categories/show', {}); + Show(data: ApiTypes.Emergency.EmergencyEventCategories.Show): Promise { + return request('company/emergency/emergency_event_categories/show', { data }); }, - SoftDelete(): Promise { - return request('company/emergency/emergency_event_categories/soft_delete', {}); + SoftDelete(data: ApiTypes.Emergency.EmergencyEventCategories.SoftDelete): Promise { + return request('company/emergency/emergency_event_categories/soft_delete', { data }); }, - Restore(): Promise { - return request('company/emergency/emergency_event_categories/restore', {}); + Restore(data: ApiTypes.Emergency.EmergencyEventCategories.Restore): Promise { + return request('company/emergency/emergency_event_categories/restore', { data }); }, - Delete(): Promise { - return request('company/emergency/emergency_event_categories/delete', {}); + Delete(data: ApiTypes.Emergency.EmergencyEventCategories.Delete): Promise { + return request('company/emergency/emergency_event_categories/delete', { data }); }, - Select(): Promise { - return request('company/emergency/emergency_event_categories/select', {}); + Select(data?: ApiTypes.Emergency.EmergencyEventCategories.Select): Promise { + return request('company/emergency/emergency_event_categories/select', { data }); }, SelectTree(data?: ApiTypes.Emergency.EmergencyEventCategories.SelectTree): Promise { return request('company/emergency/emergency_event_categories/select_tree', { data }); @@ -1266,13 +1269,16 @@ export const Apis = { Store(data: ApiTypes.Emergency.EmergencyEventFollows.Store): Promise { return request('company/emergency/emergency_event_follows/store', { data }); }, - Show(): Promise { - return request('company/emergency/emergency_event_follows/show', {}); + Show(data: ApiTypes.Emergency.EmergencyEventFollows.Show): Promise { + return request('company/emergency/emergency_event_follows/show', { data }); + }, + Delete(data: ApiTypes.Emergency.EmergencyEventFollows.Delete): Promise { + return request('company/emergency/emergency_event_follows/delete', { data }); }, }, EmergencyEventLevels: { - List(): Promise { - return request('company/emergency/emergency_event_levels/list', {}); + List(data?: ApiTypes.Emergency.EmergencyEventLevels.List): Promise { + return request('company/emergency/emergency_event_levels/list', { data }); }, Store(data: ApiTypes.Emergency.EmergencyEventLevels.Store): Promise { return request('company/emergency/emergency_event_levels/store', { data }); @@ -1280,20 +1286,20 @@ export const Apis = { Update(data: ApiTypes.Emergency.EmergencyEventLevels.Update): Promise { return request('company/emergency/emergency_event_levels/update', { data }); }, - Show(): Promise { - return request('company/emergency/emergency_event_levels/show', {}); + Show(data: ApiTypes.Emergency.EmergencyEventLevels.Show): Promise { + return request('company/emergency/emergency_event_levels/show', { data }); }, - SoftDelete(): Promise { - return request('company/emergency/emergency_event_levels/soft_delete', {}); + SoftDelete(data: ApiTypes.Emergency.EmergencyEventLevels.SoftDelete): Promise { + return request('company/emergency/emergency_event_levels/soft_delete', { data }); }, - Restore(): Promise { - return request('company/emergency/emergency_event_levels/restore', {}); + Restore(data: ApiTypes.Emergency.EmergencyEventLevels.Restore): Promise { + return request('company/emergency/emergency_event_levels/restore', { data }); }, - Delete(): Promise { - return request('company/emergency/emergency_event_levels/delete', {}); + Delete(data: ApiTypes.Emergency.EmergencyEventLevels.Delete): Promise { + return request('company/emergency/emergency_event_levels/delete', { data }); }, - Select(): Promise { - return request('company/emergency/emergency_event_levels/select', {}); + Select(data?: ApiTypes.Emergency.EmergencyEventLevels.Select): Promise { + return request('company/emergency/emergency_event_levels/select', { data }); }, }, EmergencyEventTeams: { @@ -1306,17 +1312,17 @@ export const Apis = { Update(data: ApiTypes.Emergency.EmergencyEventTeams.Update): Promise { return request('company/emergency/emergency_event_teams/update', { data }); }, - Show(): Promise { - return request('company/emergency/emergency_event_teams/show', {}); + Show(data: ApiTypes.Emergency.EmergencyEventTeams.Show): Promise { + return request('company/emergency/emergency_event_teams/show', { data }); }, - SoftDelete(): Promise { - return request('company/emergency/emergency_event_teams/soft_delete', {}); + SoftDelete(data: ApiTypes.Emergency.EmergencyEventTeams.SoftDelete): Promise { + return request('company/emergency/emergency_event_teams/soft_delete', { data }); }, - Restore(): Promise { - return request('company/emergency/emergency_event_teams/restore', {}); + Restore(data: ApiTypes.Emergency.EmergencyEventTeams.Restore): Promise { + return request('company/emergency/emergency_event_teams/restore', { data }); }, - Delete(): Promise { - return request('company/emergency/emergency_event_teams/delete', {}); + Delete(data: ApiTypes.Emergency.EmergencyEventTeams.Delete): Promise { + return request('company/emergency/emergency_event_teams/delete', { data }); }, Select(data?: ApiTypes.Emergency.EmergencyEventTeams.Select): Promise { return request('company/emergency/emergency_event_teams/select', { data }); @@ -1332,8 +1338,8 @@ export const Apis = { Update(data: ApiTypes.Emergency.EmergencyEvents.Update): Promise { return request('company/emergency/emergency_events/update', { data }); }, - Show(): Promise { - return request('company/emergency/emergency_events/show', {}); + Show(data: ApiTypes.Emergency.EmergencyEvents.Show): Promise { + return request('company/emergency/emergency_events/show', { data }); }, Assign(data: ApiTypes.Emergency.EmergencyEvents.Assign): Promise { return request('company/emergency/emergency_events/assign', { data }); @@ -1344,14 +1350,14 @@ export const Apis = { Audit(data: ApiTypes.Emergency.EmergencyEvents.Audit): Promise { return request('company/emergency/emergency_events/audit', { data }); }, - SoftDelete(): Promise { - return request('company/emergency/emergency_events/soft_delete', {}); + SoftDelete(data: ApiTypes.Emergency.EmergencyEvents.SoftDelete): Promise { + return request('company/emergency/emergency_events/soft_delete', { data }); }, - Restore(): Promise { - return request('company/emergency/emergency_events/restore', {}); + Restore(data: ApiTypes.Emergency.EmergencyEvents.Restore): Promise { + return request('company/emergency/emergency_events/restore', { data }); }, - Delete(): Promise { - return request('company/emergency/emergency_events/delete', {}); + Delete(data: ApiTypes.Emergency.EmergencyEvents.Delete): Promise { + return request('company/emergency/emergency_events/delete', { data }); }, Select(data?: ApiTypes.Emergency.EmergencyEvents.Select): Promise { return request('company/emergency/emergency_events/select', { data }); @@ -1973,6 +1979,17 @@ export const Apis = { }, }, Statistics: { + ContractsCount: { + StatusOverview(): Promise { + return request('company/statistics/contracts_count/status_overview', {}); + }, + ArchiveUsage(): Promise { + return request('company/statistics/contracts_count/archive_usage', {}); + }, + ClearCache(): Promise { + return request('company/statistics/contracts_count/clear_cache', {}); + }, + }, IndexCount: { FinancialAnalysis(): Promise { return request('company/statistics/index_count/financial_analysis', {}); diff --git a/src/pages/attendance/attendance_configs/index.tsx b/src/pages/attendance/attendance_configs/index.tsx index 2c5c9d3..b10f58a 100644 --- a/src/pages/attendance/attendance_configs/index.tsx +++ b/src/pages/attendance/attendance_configs/index.tsx @@ -1,4 +1,9 @@ -import { MyColumns, MyPageContainer, MyProTableProps } from '@/common'; +import { + MyButtons, + MyColumns, + MyPageContainer, + MyProTableProps, +} from '@/common'; import { Apis } from '@/gen/Apis'; import { ProTable } from '@ant-design/pro-components'; import { Space } from 'antd'; @@ -37,6 +42,11 @@ export default function Index({ title = '打卡配置' }) { dataIndex: 'check_in_range', search: false, }, + { + title: '关联项目', + dataIndex: ['asset_project', 'name'], + search: false, + }, MyColumns.Boolean({ dataIndex: 'require_photo', title: '是否要求拍照打卡', @@ -58,6 +68,13 @@ export default function Index({ title = '打卡配置' }) { render: (_, item: any, index, action) => ( + + Apis.Attendance.AttendanceConfigs.Delete({ + id: item.id, + }).then(() => action?.reload()) + } + /> ), }), diff --git a/src/pages/attendance/attendance_configs/modals/Update.tsx b/src/pages/attendance/attendance_configs/modals/Update.tsx index 02040b3..9916580 100644 --- a/src/pages/attendance/attendance_configs/modals/Update.tsx +++ b/src/pages/attendance/attendance_configs/modals/Update.tsx @@ -4,6 +4,7 @@ import { MyModalFormProps, rulesHelper, } from '@/common'; +import { SelectContract } from '@/components/SelectContract'; import { Apis } from '@/gen/Apis'; import { BetaSchemaForm } from '@ant-design/pro-components'; import { Form, message } from 'antd'; @@ -27,6 +28,7 @@ export default function Update(props: MyBetaModalFormProps) { onFinish={async (values) => Apis.Attendance.AttendanceConfigs.UpdateConfig({ ...values, + require_photo: values?.require_photo ? true : false, id: props.item?.id ?? 1, }) .then(() => { @@ -37,6 +39,16 @@ export default function Update(props: MyBetaModalFormProps) { .catch(() => false) } columns={[ + SelectContract.AssetProjects({ + key: 'asset_projects_id', + title: '关联项目', + colProps: { span: 24 }, + required: true, + fieldProps: { + showSearch: true, + // mode: 'multiple', + }, + }), { key: 'check_in_range', title: '可打卡范围', diff --git a/src/pages/quality/emergency/categories/index.tsx b/src/pages/quality/emergency/categories/index.tsx index df1dddd..e130fef 100644 --- a/src/pages/quality/emergency/categories/index.tsx +++ b/src/pages/quality/emergency/categories/index.tsx @@ -1,9 +1,4 @@ -import { - MyButtons, - MyColumns, - MyProTableProps, - useCurrentPermissions, -} from '@/common'; +import { MyButtons, MyColumns, MyProTableProps } from '@/common'; import { Apis } from '@/gen/Apis'; import { ProTable } from '@ant-design/pro-components'; import { Space } from 'antd'; @@ -11,33 +6,6 @@ import Create from './modals/Create'; import Update from './modals/Update'; export default function Index({ title = '分类' }) { - const getCurrentPermissions = useCurrentPermissions(); - let toolBarRender = (action: any) => { - return getCurrentPermissions( - { - create: , - }, - 'MyCategories', - ); - }; - let tableRender = (item: any, action: any) => { - return getCurrentPermissions( - { - update: , - delete: ( - - Apis.Emergency.EmergencyEventCategories.Delete({ - id: item.id, - }).then(() => action?.reload()) - } - /> - ), - }, - 'MyCategories', - ); - }; - return ( [toolBarRender(action)]} + toolBarRender={(action) => [ + , + ]} columns={[ MyColumns.ID({ search: false, @@ -72,7 +42,17 @@ export default function Index({ title = '分类' }) { MyColumns.CreatedAt(), MyColumns.Option({ render: (_, item: any, index, action) => ( - {tableRender(item, action)} + + {' '} + + + Apis.Emergency.EmergencyEventCategories.Delete({ + id: item.id, + }).then(() => action?.reload()) + } + /> + ), }), ]} diff --git a/src/pages/quality/emergency/categories/modals/Create.tsx b/src/pages/quality/emergency/categories/modals/Create.tsx index 732db15..01cff93 100644 --- a/src/pages/quality/emergency/categories/modals/Create.tsx +++ b/src/pages/quality/emergency/categories/modals/Create.tsx @@ -7,9 +7,10 @@ import { import { TreeSelects } from '@/components/TreeSelect'; import { Apis } from '@/gen/Apis'; import { BetaSchemaForm } from '@ant-design/pro-components'; -import { message } from 'antd'; +import { Form, message } from 'antd'; export default function Create(props: MyBetaModalFormProps) { + const [form] = Form.useForm(); return ( {...MyModalFormProps.props} @@ -17,7 +18,13 @@ export default function Create(props: MyBetaModalFormProps) { wrapperCol={{ span: 24 }} width="500px" key={new Date().getTime()} + form={form} trigger={} + onOpenChange={(open: any) => { + if (open) { + form.resetFields(); + } + }} onFinish={async (values) => Apis.Emergency.EmergencyEventCategories.Store(values) .then(() => { diff --git a/src/pages/quality/emergency/events/index.tsx b/src/pages/quality/emergency/events/index.tsx index f23641f..c71edcb 100644 --- a/src/pages/quality/emergency/events/index.tsx +++ b/src/pages/quality/emergency/events/index.tsx @@ -1,9 +1,4 @@ -import { - MyButtons, - MyColumns, - MyProTableProps, - useCurrentPermissions, -} from '@/common'; +import { MyButtons, MyColumns, MyProTableProps } from '@/common'; import { Apis } from '@/gen/Apis'; import { EmergencyEventsCompensationTypeEnum, @@ -17,42 +12,6 @@ import Review from './modals/Review'; import Update from './modals/Update'; export default function Index({ title = '突发事件' }) { - const getCurrentPermissions = useCurrentPermissions(); - - let toolBarRender = (action: any) => { - return getCurrentPermissions( - { - create: , - }, - 'MyEvents', - ); - }; - let tableRender = (item: any, action: any) => { - return getCurrentPermissions( - { - show: ( - - ), - assign: , - update: , - review: , - delete: ( - - Apis.Emergency.EmergencyEvents.Delete({ - id: item.id, - }).then(() => action?.reload()) - } - /> - ), - }, - 'MyEvents', - ); - }; return ( [toolBarRender(action)]} + toolBarRender={(action: any) => [ + , + ]} columns={[ MyColumns.ID({ search: false, @@ -117,7 +78,23 @@ export default function Index({ title = '突发事件' }) { MyColumns.CreatedAt(), MyColumns.Option({ render: (_, item: any, index, action) => ( - {tableRender(item, action)} + + + + + + + Apis.Emergency.EmergencyEvents.Delete({ + id: item.id, + }).then(() => action?.reload()) + } + /> + ), }), ]} diff --git a/src/pages/quality/emergency/follows/index.tsx b/src/pages/quality/emergency/follows/index.tsx index 4c1dd37..e07a5c6 100644 --- a/src/pages/quality/emergency/follows/index.tsx +++ b/src/pages/quality/emergency/follows/index.tsx @@ -3,7 +3,6 @@ import { MyButtons, MyColumns, MyProTableProps, - useCurrentPermissions, } from '@/common'; import { Apis } from '@/gen/Apis'; import { ProTable } from '@ant-design/pro-components'; @@ -12,40 +11,6 @@ import Create from './modals/Create'; import Show from './modals/Show'; export default function Index(props: MyBetaModalFormProps) { - const getCurrentPermissions = useCurrentPermissions(); - let toolBarRender = (action: any) => { - return getCurrentPermissions( - { - Create: ( - - ), - }, - 'MyFollows', - ); - }; - let tableRender = (item: any, action: any) => { - return getCurrentPermissions( - { - update: , - delete: ( - - Apis.Emergency.EmergencyEventFollows.Delete({ - id: item.id, - }).then(() => action?.reload()) - } - /> - ), - }, - 'MyFollows', - ); - }; return ( [toolBarRender(action)]} + toolBarRender={(action) => [ + , + ]} columns={[ MyColumns.ID({ search: false, @@ -94,7 +66,17 @@ export default function Index(props: MyBetaModalFormProps) { MyColumns.CreatedAt(), MyColumns.Option({ render: (_, item: any, index, action) => ( - {tableRender(item, action)} + + + + Apis.Emergency.EmergencyEventFollows.Delete({ + id: item.id, + }).then(() => action?.reload()) + } + /> + ), }), ]} diff --git a/src/pages/quality/emergency/levels/index.tsx b/src/pages/quality/emergency/levels/index.tsx index 98b5704..845d731 100644 --- a/src/pages/quality/emergency/levels/index.tsx +++ b/src/pages/quality/emergency/levels/index.tsx @@ -1,9 +1,4 @@ -import { - MyButtons, - MyColumns, - MyProTableProps, - useCurrentPermissions, -} from '@/common'; +import { MyButtons, MyColumns, MyProTableProps } from '@/common'; import { Apis } from '@/gen/Apis'; import { ProTable } from '@ant-design/pro-components'; import { Space } from 'antd'; @@ -11,33 +6,6 @@ import Create from './modals/Create'; import Update from './modals/Update'; export default function Index({ title = '等级' }) { - const getCurrentPermissions = useCurrentPermissions(); - let toolBarRender = (action: any) => { - return getCurrentPermissions( - { - Create: , - }, - 'MyLevels', - ); - }; - let tableRender = (item: any, action: any) => { - return getCurrentPermissions( - { - update: , - delete: ( - - Apis.Emergency.EmergencyEventLevels.Delete({ - id: item.id, - }).then(() => action?.reload()) - } - /> - ), - }, - 'MyLevels', - ); - }; return ( [toolBarRender(action)]} + toolBarRender={(action) => [ + , + ]} columns={[ MyColumns.ID({ search: false, @@ -67,7 +37,17 @@ export default function Index({ title = '等级' }) { MyColumns.CreatedAt(), MyColumns.Option({ render: (_, item: any, index, action) => ( - {tableRender(item, action)} + + + + Apis.Emergency.EmergencyEventLevels.Delete({ + id: item.id, + }).then(() => action?.reload()) + } + /> + ), }), ]} diff --git a/src/pages/quality/emergency/levels/modals/Create.tsx b/src/pages/quality/emergency/levels/modals/Create.tsx index e0bef68..f7ec52b 100644 --- a/src/pages/quality/emergency/levels/modals/Create.tsx +++ b/src/pages/quality/emergency/levels/modals/Create.tsx @@ -6,16 +6,23 @@ import { } from '@/common'; import { Apis } from '@/gen/Apis'; import { BetaSchemaForm } from '@ant-design/pro-components'; -import { message } from 'antd'; +import { Form, message } from 'antd'; export default function Create(props: MyBetaModalFormProps) { + const [form] = Form.useForm(); return ( {...MyModalFormProps.props} title={`添加${props.title}`} wrapperCol={{ span: 24 }} width="500px" + form={form} key={new Date().getTime()} + onOpenChange={(open: any) => { + if (open) { + form.resetFields(); // 清空表单数据 + } + }} trigger={} onFinish={async (values) => Apis.Emergency.EmergencyEventLevels.Store(values) diff --git a/src/pages/quality/emergency/teams/index.tsx b/src/pages/quality/emergency/teams/index.tsx index 90f6513..329bb26 100644 --- a/src/pages/quality/emergency/teams/index.tsx +++ b/src/pages/quality/emergency/teams/index.tsx @@ -1,9 +1,4 @@ -import { - MyButtons, - MyColumns, - MyProTableProps, - useCurrentPermissions, -} from '@/common'; +import { MyButtons, MyColumns, MyProTableProps } from '@/common'; import { Apis } from '@/gen/Apis'; import { ProTable } from '@ant-design/pro-components'; import { Space } from 'antd'; @@ -11,35 +6,6 @@ import Create from './modals/Create'; import Update from './modals/Update'; export default function Index({ title = '应急小组' }) { - const getCurrentPermissions = useCurrentPermissions(); - - let toolBarRender = (action: any) => { - return getCurrentPermissions( - { - Create: ( - - ), - }, - 'MyLevels', - ); - }; - let tableRender = (item: any, action: any) => { - return getCurrentPermissions( - { - update: , - delete: ( - - Apis.Emergency.EmergencyEventCategories.Delete({ - id: item.id, - }).then(() => action?.reload()) - } - /> - ), - }, - 'MyLevels', - ); - }; return ( [toolBarRender(action)]} + toolBarRender={(action) => [ + , + ]} columns={[ MyColumns.ID({ search: false, @@ -96,7 +64,16 @@ export default function Index({ title = '应急小组' }) { MyColumns.CreatedAt(), MyColumns.Option({ render: (_, item: any, index, action) => ( - {tableRender(item, action)} + + + + Apis.Emergency.EmergencyEventCategories.Delete({ + id: item.id, + }).then(() => action?.reload()) + } + /> + ), }), ]} diff --git a/src/pages/quality/marketing/survey/components/QuestionCategoriesList.tsx b/src/pages/quality/marketing/survey/components/QuestionCategoriesList.tsx index 3c0b56b..1e53359 100644 --- a/src/pages/quality/marketing/survey/components/QuestionCategoriesList.tsx +++ b/src/pages/quality/marketing/survey/components/QuestionCategoriesList.tsx @@ -1,9 +1,4 @@ -import { - MyButtons, - MyColumns, - MyProTableProps, - useCurrentPermissions, -} from '@/common'; +import { MyButtons, MyColumns, MyProTableProps } from '@/common'; import { Apis } from '@/gen/Apis'; import { ProTable } from '@ant-design/pro-components'; import { Space } from 'antd'; @@ -11,33 +6,6 @@ import Create from '../modals/QuestionCategoriesCreate'; import Update from '../modals/QuestionCategoriesUpdate'; export default function QuestionCategoriesList({ title = '题目分类' }) { - const getCurrentPermissions = useCurrentPermissions(); - let toolBarRender = (action: any) => { - return getCurrentPermissions( - { - add: , - }, - 'MyQuestionCategoriesList', - ); - }; - - let tableRender = (item: any, action: any) => { - return getCurrentPermissions( - { - update: , - delete: ( - - Apis.Survey.QuestionCategories.Delete({ id: item.id }).then(() => - action?.reload(), - ) - } - /> - ), - }, - 'MyQuestionCategoriesList', - ); - }; return ( [toolBarRender(action)]} + toolBarRender={(action) => [ + , + ]} columns={[ MyColumns.ID({ search: false, @@ -63,7 +33,14 @@ export default function QuestionCategoriesList({ title = '题目分类' }) { render: (_, item: any, index, action) => ( - <>{tableRender(item, action)} + + + Apis.Survey.QuestionCategories.Delete({ id: item.id }).then( + () => action?.reload(), + ) + } + /> ), }), diff --git a/src/pages/quality/marketing/survey/components/QuestionsList.tsx b/src/pages/quality/marketing/survey/components/QuestionsList.tsx index e53a72b..daa6510 100644 --- a/src/pages/quality/marketing/survey/components/QuestionsList.tsx +++ b/src/pages/quality/marketing/survey/components/QuestionsList.tsx @@ -1,9 +1,4 @@ -import { - MyButtons, - MyColumns, - MyProTableProps, - useCurrentPermissions, -} from '@/common'; +import { MyButtons, MyColumns, MyProTableProps } from '@/common'; import { Apis } from '@/gen/Apis'; import { QuestionsTypeEnum } from '@/gen/Enums'; import { ProTable } from '@ant-design/pro-components'; @@ -12,33 +7,6 @@ import Create from '../modals/QuestionsCreate'; import Update from '../modals/QuestionsUpdate'; export default function QuestionsList({ title = '题目' }) { - const getCurrentPermissions = useCurrentPermissions(); - let toolBarRender = (action: any) => { - return getCurrentPermissions( - { - add: , - }, - 'MyQuestionsList', - ); - }; - - let tableRender = (item: any, action: any) => { - return getCurrentPermissions( - { - update: , - delete: ( - - Apis.Survey.Questions.Delete({ id: item.id }).then(() => - action?.reload(), - ) - } - /> - ), - }, - 'MyQuestionsList', - ); - }; return ( MyProTableProps.request(params, sort, Apis.Survey.Questions.List) } - toolBarRender={(action) => [toolBarRender(action)]} + toolBarRender={(action) => [ + , + ]} columns={[ MyColumns.ID({ search: false, @@ -71,7 +41,16 @@ export default function QuestionsList({ title = '题目' }) { MyColumns.Option({ width: 120, render: (_, item: any, index, action) => ( - {tableRender(item, action)} + + + + Apis.Survey.Questions.Delete({ id: item.id }).then(() => + action?.reload(), + ) + } + /> + ), }), ]} diff --git a/src/pages/quality/marketing/survey/components/SurveyReleasesList.tsx b/src/pages/quality/marketing/survey/components/SurveyReleasesList.tsx index 97b5aae..e444db3 100644 --- a/src/pages/quality/marketing/survey/components/SurveyReleasesList.tsx +++ b/src/pages/quality/marketing/survey/components/SurveyReleasesList.tsx @@ -1,10 +1,4 @@ -import { - MyButtons, - MyColumns, - MyProTableProps, - useCurrentPermissions, -} from '@/common'; -import { isInTimeRange } from '@/common/utils/day'; +import { MyButtons, MyColumns, MyProTableProps } from '@/common'; import { Apis } from '@/gen/Apis'; import { SurveyReleasesTypeEnum } from '@/gen/Enums'; import { ProTable } from '@ant-design/pro-components'; @@ -13,60 +7,6 @@ import Create from '../modals/SurveyReleasesCreate'; import Update from '../modals/SurveyReleasesUpdate'; export default function SurveyReleasesList({ title = '问卷发布列表' }) { - const getCurrentPermissions = useCurrentPermissions(); - let toolBarRender = (action: any) => { - return getCurrentPermissions( - { - add: , - }, - 'MySurveyReleasesList', - ); - }; - let tableRender = (item: any, action: any) => { - return getCurrentPermissions( - { - publish: ( - - Apis.Survey.SurveyReleases.Publish({ id: item.id }).then(() => - action?.reload(), - ) - } - /> - ), - cancel: ( - - Apis.Survey.SurveyReleases.Cancel({ id: item.id }).then(() => - action?.reload(), - ) - } - /> - ), - update: , - delete: ( - - Apis.Survey.SurveyReleases.Delete({ id: item.id }).then(() => - action?.reload(), - ) - } - /> - ), - }, - 'MySurveyReleasesList', - ); - }; return ( MyProTableProps.request(params, sort, Apis.Survey.SurveyReleases.List) } - toolBarRender={(action) => [toolBarRender(action)]} + toolBarRender={(action) => [ + , + ]} columns={[ MyColumns.ID({ search: false, @@ -104,7 +46,27 @@ export default function SurveyReleasesList({ title = '问卷发布列表' }) { MyColumns.CreatedAt(), MyColumns.Option({ render: (_, item: any, index, action) => ( - {tableRender(item, action)} + + + Apis.Survey.SurveyReleases.Publish({ id: item.id }).then(() => + action?.reload(), + ) + } + /> + + + Apis.Survey.SurveyReleases.Delete({ id: item.id }).then(() => + action?.reload(), + ) + } + /> + ), }), ]} diff --git a/src/pages/quality/marketing/survey/components/SurveyResponsesList.tsx b/src/pages/quality/marketing/survey/components/SurveyResponsesList.tsx index adbce07..30656cc 100644 --- a/src/pages/quality/marketing/survey/components/SurveyResponsesList.tsx +++ b/src/pages/quality/marketing/survey/components/SurveyResponsesList.tsx @@ -2,11 +2,11 @@ import { MyColumns, MyProTableProps } from '@/common'; import { Apis } from '@/gen/Apis'; import { ProTable } from '@ant-design/pro-components'; import MyShow from '../modals/SurveyResponsesShow'; -export default function SurveyResponsesList({ title = '问卷回收' }) { +export default function SurveyResponsesList({ title = '客户提交问卷' }) { return ( MyProTableProps.request(params, sort, Apis.Survey.SurveyResponses.List) } diff --git a/src/pages/quality/marketing/survey/components/SurveysList.tsx b/src/pages/quality/marketing/survey/components/SurveysList.tsx index 11fcbbe..b605bcb 100644 --- a/src/pages/quality/marketing/survey/components/SurveysList.tsx +++ b/src/pages/quality/marketing/survey/components/SurveysList.tsx @@ -1,9 +1,4 @@ -import { - MyButtons, - MyColumns, - MyProTableProps, - useCurrentPermissions, -} from '@/common'; +import { MyButtons, MyColumns, MyProTableProps } from '@/common'; import { Apis } from '@/gen/Apis'; import { PlusOutlined } from '@ant-design/icons'; import { ProTable } from '@ant-design/pro-components'; @@ -13,61 +8,6 @@ import SurveysListShow from '../modals/SurveysListShow'; export default function SurveysList({ title = '问卷设置' }) { const navigate = useNavigate(); - const getCurrentPermissions = useCurrentPermissions(); - let toolBarRender = () => { - return getCurrentPermissions( - { - add: ( - } - onClick={() => { - navigate('/marketing/survey/pages/create_surveys'); - }} - title="新增问卷" - /> - ), - }, - 'MySurveysList', - ); - }; - - let tableRender = (item: any, action: any) => { - return getCurrentPermissions( - { - show: ( - - ), - update: ( - { - navigate(`/marketing/survey/pages/update_surveys?id=${item.id}`); - }} - title="编辑" - /> - ), - delete: ( - - Apis.Survey.Surveys.Delete({ id: item.id }).then(() => - action?.reload(), - ) - } - /> - ), - }, - 'MySurveysList', - ); - }; return ( MyProTableProps.request(params, sort, Apis.Survey.Surveys.List) } - toolBarRender={() => [toolBarRender()]} + toolBarRender={() => [ + } + onClick={() => { + navigate('/quality/marketing/survey/pages/create_surveys'); + }} + title="新增问卷" + />, + ]} columns={[ MyColumns.ID({ search: false, @@ -100,7 +51,31 @@ export default function SurveysList({ title = '问卷设置' }) { MyColumns.Option({ width: 120, render: (_, item: any, index, action) => ( - {tableRender(item, action)} + + + { + navigate( + `/quality/marketing/survey/pages/update_surveys?id=${item.id}`, + ); + }} + title="编辑" + /> + + Apis.Survey.Surveys.Delete({ id: item.id }).then(() => + action?.reload(), + ) + } + /> + ), }), ]} diff --git a/src/pages/quality/marketing/survey/modals/SurveyReleasesCreate.tsx b/src/pages/quality/marketing/survey/modals/SurveyReleasesCreate.tsx index d916285..4793c12 100644 --- a/src/pages/quality/marketing/survey/modals/SurveyReleasesCreate.tsx +++ b/src/pages/quality/marketing/survey/modals/SurveyReleasesCreate.tsx @@ -67,6 +67,7 @@ export default function SurveyReleasesCreate(props: MyBetaModalFormProps) { }, MyFormItems.UploadImages({ key: 'cover_image', + tooltip: '建议(尺寸:高度161px,宽度100%)', title: '封面图', colProps: { span: 24 }, max: 1, diff --git a/src/pages/quality/marketing/survey/modals/SurveyReleasesUpdate.tsx b/src/pages/quality/marketing/survey/modals/SurveyReleasesUpdate.tsx index 2c7eb04..f3bccef 100644 --- a/src/pages/quality/marketing/survey/modals/SurveyReleasesUpdate.tsx +++ b/src/pages/quality/marketing/survey/modals/SurveyReleasesUpdate.tsx @@ -69,6 +69,7 @@ export default function SurveyReleasesCreate(props: MyBetaModalFormProps) { MyFormItems.UploadImages({ key: 'cover_image', title: '封面图', + tooltip: '建议(尺寸:高度161px,宽度100%)', colProps: { span: 24 }, max: 1, }), From df7f5aa5483c2551bb1be2149a1056f8e9a4be1f Mon Sep 17 00:00:00 2001 From: Your Name Date: Fri, 17 Apr 2026 16:42:43 +0800 Subject: [PATCH 2/2] =?UTF-8?q?fix:=E6=9B=B4=E6=96=B0BUG?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/gen/ApiTypes.d.ts | 6 ++ src/gen/Apis.ts | 6 ++ .../attendance_shifts/pages/create.tsx | 4 +- .../attendance_shifts/pages/update.tsx | 4 +- src/pages/work_order/complaint/index.tsx | 76 ++++++++----------- .../work_order/complaint/modals/Create.tsx | 23 +----- .../list/modals/WorkOrderCreate.tsx | 8 ++ 7 files changed, 57 insertions(+), 70 deletions(-) diff --git a/src/gen/ApiTypes.d.ts b/src/gen/ApiTypes.d.ts index efbf20a..8897ba1 100644 --- a/src/gen/ApiTypes.d.ts +++ b/src/gen/ApiTypes.d.ts @@ -3939,6 +3939,12 @@ declare namespace ApiTypes { type Closed = { "id": number; // id }; + type SoftDelete = { + "id": number; // id + }; + type Restore = { + "id": number; // id + }; type Delete = { "id": number; // id }; diff --git a/src/gen/Apis.ts b/src/gen/Apis.ts index 2797f9e..a8c6304 100644 --- a/src/gen/Apis.ts +++ b/src/gen/Apis.ts @@ -2201,6 +2201,12 @@ export const Apis = { Closed(data: ApiTypes.WorkOrder.HouseWorkOrders.Closed): Promise { return request('company/work_order/house_work_orders/closed', { data }); }, + SoftDelete(data: ApiTypes.WorkOrder.HouseWorkOrders.SoftDelete): Promise { + return request('company/work_order/house_work_orders/soft_delete', { data }); + }, + Restore(data: ApiTypes.WorkOrder.HouseWorkOrders.Restore): Promise { + return request('company/work_order/house_work_orders/restore', { data }); + }, Delete(data: ApiTypes.WorkOrder.HouseWorkOrders.Delete): Promise { return request('company/work_order/house_work_orders/delete', { data }); }, diff --git a/src/pages/attendance/attendance_shifts/pages/create.tsx b/src/pages/attendance/attendance_shifts/pages/create.tsx index cde6d58..5b4f84a 100644 --- a/src/pages/attendance/attendance_shifts/pages/create.tsx +++ b/src/pages/attendance/attendance_shifts/pages/create.tsx @@ -127,7 +127,7 @@ export default function Index({ title = '新增班次' }) { valueType: 'time', fieldProps: { style: { width: '100%' }, - placeholder: '请输入班次开始时间', + placeholder: '请选择班次开始时间', format: 'HH:mm', }, colProps: { span: 8 }, @@ -138,7 +138,7 @@ export default function Index({ title = '新增班次' }) { valueType: 'time', fieldProps: { style: { width: '100%' }, - placeholder: '请输入班次开始时间', + placeholder: '请选择班次结束时间', format: 'HH:mm', }, colProps: { span: 8 }, diff --git a/src/pages/attendance/attendance_shifts/pages/update.tsx b/src/pages/attendance/attendance_shifts/pages/update.tsx index 8f27d1e..94ea01c 100644 --- a/src/pages/attendance/attendance_shifts/pages/update.tsx +++ b/src/pages/attendance/attendance_shifts/pages/update.tsx @@ -197,7 +197,7 @@ export default function Index({ title = '编辑班次' }) { valueType: 'time', fieldProps: { style: { width: '100%' }, - placeholder: '请输入班次开始时间', + placeholder: '请选择班次开始时间', format: 'HH:mm', }, colProps: { span: 8 }, @@ -207,7 +207,7 @@ export default function Index({ title = '编辑班次' }) { key: 'work_end_time', fieldProps: { style: { width: '100%' }, - placeholder: '请输入班次开始时间', + placeholder: '请选择班次结束时间', format: 'HH:mm', }, valueType: 'time', diff --git a/src/pages/work_order/complaint/index.tsx b/src/pages/work_order/complaint/index.tsx index 8634cb5..3f3b49e 100644 --- a/src/pages/work_order/complaint/index.tsx +++ b/src/pages/work_order/complaint/index.tsx @@ -3,7 +3,6 @@ import { MyColumns, MyPageContainer, MyProTableProps, - useCurrentPermissions, } from '@/common'; import { Apis } from '@/gen/Apis'; import { @@ -32,47 +31,6 @@ export const ComplaintOrdersStatusEnum = { }; export default function Index({ title = '客户投诉' }) { - const getCurrentPermissions = useCurrentPermissions(); - let toolBarRender = (action: any) => { - return getCurrentPermissions({ - create: , - }); - }; - let tableRender = (item: any, action: any) => { - return getCurrentPermissions({ - show: , - update: ( - <> - {item.status === 'Pending' && ( - - )} - - ), - assign: ( - <> - {item.assign_status === 'Unassigned' && ( - - )} - - ), - completed: ( - <> - {item.status === 'Completed' && item.is_visited === 0 && ( - - )} - - ), - delete: ( - - Apis.WorkOrder.HouseWorkOrders.SoftDelete({ - id: item.id, - }).then(() => action?.reload()) - } - /> - ), - }); - }; return ( - > {...MyProTableProps.props} - headerTitle="客户投诉" + headerTitle="工单列表" request={async (params, sort) => MyProTableProps.request( { @@ -93,7 +51,9 @@ export default function Index({ title = '客户投诉' }) { Apis.WorkOrder.HouseWorkOrders.List, ) } - toolBarRender={(action) => [toolBarRender(action)]} + toolBarRender={(action) => [ + , + ]} columns={[ MyColumns.ID({ search: false }), MyColumns.EnumTag({ @@ -157,7 +117,31 @@ export default function Index({ title = '客户投诉' }) { MyColumns.Option({ render: (_, item: any, index, action) => ( - <>{tableRender(item, action)} + + {item.status === 'Pending' && ( + + )} + {item.assign_status === 'Unassigned' && ( + + )} + {item.status === 'Completed' && item.is_visited === 0 && ( + + )} + + Apis.WorkOrder.HouseWorkOrders.SoftDelete({ + id: item.id, + }).then(() => action?.reload()) + } + /> ), }), diff --git a/src/pages/work_order/complaint/modals/Create.tsx b/src/pages/work_order/complaint/modals/Create.tsx index 1336b1e..9a94e21 100644 --- a/src/pages/work_order/complaint/modals/Create.tsx +++ b/src/pages/work_order/complaint/modals/Create.tsx @@ -20,11 +20,11 @@ export default function WorkOrderCreate(props: MyBetaModalFormProps) { {...MyModalFormProps.props} title={`创建工单`} - wrapperCol={{ span: 19 }} + labelCol={{ span: 4 }} + wrapperCol={{ span: 20 }} width="600px" layout="horizontal" - labelCol={{ span: 5 }} - trigger={} + trigger={} onOpenChange={(open: any) => { if (open) { form.resetFields(); // 清空表单数据 @@ -45,23 +45,6 @@ export default function WorkOrderCreate(props: MyBetaModalFormProps) { .catch(() => false) } columns={[ - // MyFormItems.EnumRadio({ - // key: 'type', - // title: '工单类型', - // colProps: { span: 24 }, - // // valueEnum: HouseWorkOrdersTypeEnum, - // valueEnum: () => { - // let obj: any = JSON.parse(JSON.stringify(HouseWorkOrdersTypeEnum)); - // delete obj.RenovationAcceptance; - // delete obj.EquipmentMaintenance; - // delete obj.RenovationInspection; - // delete obj.Emergency; - // delete obj.EmergEquipmentMaintenancency; - // delete obj.SecurityInspection; - // return obj; - // }, - // required: true, - // }), MyFormItems.EnumRadio({ key: 'complaint_type', title: '投诉类型', diff --git a/src/pages/work_order/list/modals/WorkOrderCreate.tsx b/src/pages/work_order/list/modals/WorkOrderCreate.tsx index 36f3aa9..12ebaa2 100644 --- a/src/pages/work_order/list/modals/WorkOrderCreate.tsx +++ b/src/pages/work_order/list/modals/WorkOrderCreate.tsx @@ -50,6 +50,14 @@ export default function WorkOrderCreate(props: MyBetaModalFormProps) { valueEnum: () => { let obj: any = JSON.parse(JSON.stringify(HouseWorkOrdersTypeEnum)); delete obj.Complaint; + delete obj.RenovationAcceptance; + delete obj.EquipmentMaintenance; + delete obj.RenovationInspection; + delete obj.Emergency; + delete obj.EmergEquipmentMaintenancency; + delete obj.SecurityInspection; + delete obj.Complaint; + delete obj.QualityCheck; return obj; }, required: true,