Merge pull request 'develop' (#13) from develop into main
All checks were successful
Build and Push Docker Image / build (push) Successful in 4m51s
All checks were successful
Build and Push Docker Image / build (push) Successful in 4m51s
Reviewed-on: #13
This commit is contained in:
commit
11ccdf73a0
@ -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,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|||||||
347
src/gen/ApiTypes.d.ts
vendored
347
src/gen/ApiTypes.d.ts
vendored
@ -673,8 +673,7 @@ declare namespace ApiTypes {
|
|||||||
namespace Attendance {
|
namespace Attendance {
|
||||||
namespace AttendanceConfigs {
|
namespace AttendanceConfigs {
|
||||||
type List = {
|
type List = {
|
||||||
"page"?: number; // -
|
"project_name"?: string; // -
|
||||||
"per_page"?: number; // -
|
|
||||||
};
|
};
|
||||||
type Store = {
|
type Store = {
|
||||||
"asset_projects_id": number; // 项目ID
|
"asset_projects_id": number; // 项目ID
|
||||||
@ -692,6 +691,9 @@ declare namespace ApiTypes {
|
|||||||
"id": number; // id
|
"id": number; // id
|
||||||
"is_enabled": boolean; // 是否启用: 1:启用 0:禁用
|
"is_enabled": boolean; // 是否启用: 1:启用 0:禁用
|
||||||
};
|
};
|
||||||
|
type Delete = {
|
||||||
|
"id": number; // id
|
||||||
|
};
|
||||||
}
|
}
|
||||||
namespace AttendanceEmployeeTracks {
|
namespace AttendanceEmployeeTracks {
|
||||||
type List = {
|
type List = {
|
||||||
@ -2256,193 +2258,264 @@ declare namespace ApiTypes {
|
|||||||
namespace Emergency {
|
namespace Emergency {
|
||||||
namespace EmergencyEventBills {
|
namespace EmergencyEventBills {
|
||||||
type List = {
|
type List = {
|
||||||
"emergency_events_id"?: number; // -
|
"emergency_events_id"?: number; // 突发事件ID,[ref:emergency_events]
|
||||||
"cost_type"?: string; // -
|
"cost_type"?: string; // 收支类型,[enum:EmergencyEventBillsCostTypeEnum]
|
||||||
"fee_type"?: string; // -
|
"fee_type"?: string; // 费用类型,[enum:EmergencyEventBillsFeeTypeEnum]
|
||||||
"fee_name"?: string; // -
|
"fee_name"?: string; // 费用名称
|
||||||
"payment_status"?: string; // -
|
"payment_status"?: string; // 支付状态,[enum:EmergencyEventBillsPaymentStatusEnum]
|
||||||
"payment_method"?: string; // -
|
"payment_method"?: string; // 支付方式,[enum:EmergencyEventBillsPaymentMethodEnum]
|
||||||
};
|
};
|
||||||
type Store = {
|
type Store = {
|
||||||
"emergency_events_id": number; // -
|
"emergency_events_id": number; // 突发事件ID,[ref:emergency_events]
|
||||||
"cost_type": string; // -
|
"cost_type": string; // 收支类型,[enum:EmergencyEventBillsCostTypeEnum]
|
||||||
"fee_type": string; // -
|
"fee_type": string; // 费用类型,[enum:EmergencyEventBillsFeeTypeEnum]
|
||||||
"fee_name": string; // -
|
"fee_name": string; // 费用名称
|
||||||
"amount": number; // -
|
"amount": number; // 金额
|
||||||
"payee": string; // -
|
"payee": string; // 收款方
|
||||||
"payee_bank": string; // -
|
"payee_bank": string; // 收款方银行
|
||||||
"payee_account": string; // -
|
"payee_account": string; // 收款方账号
|
||||||
"payer": string; // -
|
"payer": string; // 付款方
|
||||||
"payer_bank": string; // -
|
"payer_bank": string; // 付款方银行
|
||||||
"payer_account": string; // -
|
"payer_account": string; // 付款方账号
|
||||||
};
|
};
|
||||||
type Update = {
|
type Update = {
|
||||||
"id": number; // -
|
"id": number; // id
|
||||||
"cost_type": string; // -
|
"cost_type": string; // 收支类型,[enum:EmergencyEventBillsCostTypeEnum]
|
||||||
"fee_type": string; // -
|
"fee_type": string; // 费用类型,[enum:EmergencyEventBillsFeeTypeEnum]
|
||||||
"fee_name": string; // -
|
"fee_name": string; // 费用名称
|
||||||
"amount": number; // -
|
"amount": number; // 金额
|
||||||
"payee": string; // -
|
"payee": string; // 收款方
|
||||||
"payee_bank": string; // -
|
"payee_bank": string; // 收款方银行
|
||||||
"payee_account": string; // -
|
"payee_account": string; // 收款方账号
|
||||||
"payer": string; // -
|
"payer": string; // 付款方
|
||||||
"payer_bank": string; // -
|
"payer_bank": string; // 付款方银行
|
||||||
"payer_account": 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 {
|
namespace EmergencyEventCategories {
|
||||||
type List = {
|
type List = {
|
||||||
"name"?: string; // -
|
"name"?: string; // 模糊搜索:名称
|
||||||
"parent_id"?: number; // -
|
"parent_id"?: number; // 父级ID
|
||||||
};
|
};
|
||||||
type TreeList = {
|
type TreeList = {
|
||||||
"name"?: string; // -
|
"name"?: string; // 模糊搜索:名称
|
||||||
"parent_id"?: number; // -
|
"parent_id"?: number; // 父级ID
|
||||||
};
|
};
|
||||||
type Store = {
|
type Store = {
|
||||||
"name": string; // -
|
"name": string; // 分类名称
|
||||||
"description"?: string; // -
|
"description"?: string; // 分类描述
|
||||||
"is_enabled"?: number; // -
|
"is_enabled"?: number; // 是否启用:0-否,1-是
|
||||||
"_lft"?: number; // -
|
"parent_id"?: number; // 父级分类ID
|
||||||
"_rgt"?: number; // -
|
|
||||||
"parent_id"?: number; // -
|
|
||||||
};
|
};
|
||||||
type Update = {
|
type Update = {
|
||||||
"id": number; // -
|
"id": number; // id
|
||||||
"name": string; // -
|
"name": string; // 分类名称
|
||||||
"description"?: string; // -
|
"description"?: string; // 分类描述
|
||||||
"is_enabled"?: number; // -
|
"is_enabled"?: number; // 是否启用:0-否,1-是
|
||||||
"_lft"?: number; // -
|
"parent_id"?: number; // 父级分类ID
|
||||||
"_rgt"?: number; // -
|
|
||||||
"parent_id"?: number; // -
|
|
||||||
};
|
};
|
||||||
type Move = {
|
type Move = {
|
||||||
"id": number; // -
|
"id": number; // ID
|
||||||
"type": string; // -
|
"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 = {
|
type SelectTree = {
|
||||||
"keywords"?: string; // -
|
"keywords"?: string; // 关键词
|
||||||
"type"?: string; // -
|
"type"?: string; // 类型
|
||||||
"parent_id"?: number; // -
|
"parent_id"?: number; // 父级ID
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
namespace EmergencyEventFollows {
|
namespace EmergencyEventFollows {
|
||||||
type List = {
|
type List = {
|
||||||
"emergency_events_id": number; // -
|
"emergency_events_id": number; // 突发事件ID,[ref:emergency_events]
|
||||||
"content"?: string; // -
|
"content"?: string; // 跟进内容
|
||||||
};
|
};
|
||||||
type Store = {
|
type Store = {
|
||||||
"emergency_events_id": number; // -
|
"emergency_events_id": number; // 突发事件ID,[ref:emergency_events]
|
||||||
"content": string; // -
|
"content": string; // 跟进内容
|
||||||
"attachments"?: string[]; // -
|
"attachments"?: string[]; // 附件
|
||||||
|
};
|
||||||
|
type Show = {
|
||||||
|
"id": number; // id
|
||||||
|
};
|
||||||
|
type Delete = {
|
||||||
|
"id": number; // id
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
namespace EmergencyEventLevels {
|
namespace EmergencyEventLevels {
|
||||||
|
type List = {
|
||||||
|
"name"?: string; // 模糊搜索:名称
|
||||||
|
};
|
||||||
type Store = {
|
type Store = {
|
||||||
"name": string; // -
|
"name": string; // 名称
|
||||||
"is_enabled"?: number; // -
|
"is_enabled"?: number; // 是否启用:0-否,1-是
|
||||||
};
|
};
|
||||||
type Update = {
|
type Update = {
|
||||||
"id": number; // -
|
"id": number; // id
|
||||||
"name": string; // -
|
"name": string; // 名称
|
||||||
"is_enabled"?: number; // -
|
"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 {
|
namespace EmergencyEventTeams {
|
||||||
type List = {
|
type List = {
|
||||||
"name"?: string; // -
|
"name"?: string; // 模糊搜索:名称
|
||||||
"leader_name"?: string; // -
|
"leader_name"?: string; // 队长名称
|
||||||
};
|
};
|
||||||
type Store = {
|
type Store = {
|
||||||
"name": string; // -
|
"name": string; // 名称
|
||||||
"asset_projects_id": number; // -
|
"asset_projects_id": number; // 项目ID,[ref:asset_projects]
|
||||||
"company_employees_id": number; // -
|
"company_employees_id": number; // 组长员工ID,[ref:company_employees]
|
||||||
"is_enabled"?: number; // -
|
"is_enabled"?: number; // 是否启用:0-否,1-是
|
||||||
"members"?: string[]; // -
|
"members"?: string[]; // 团队成员
|
||||||
};
|
};
|
||||||
type Update = {
|
type Update = {
|
||||||
"id": number; // -
|
"id": number; // id
|
||||||
"name": string; // -
|
"name": string; // 名称
|
||||||
"asset_projects_id": number; // -
|
"asset_projects_id": number; // 项目ID,[ref:asset_projects]
|
||||||
"company_employees_id": number; // -
|
"company_employees_id": number; // 组长员工ID,[ref:company_employees]
|
||||||
"is_enabled"?: number; // -
|
"is_enabled"?: number; // 是否启用:0-否,1-是
|
||||||
"members"?: string[]; // -
|
"members"?: string[]; // 团队成员
|
||||||
|
};
|
||||||
|
type Show = {
|
||||||
|
"id": number; // id
|
||||||
|
};
|
||||||
|
type SoftDelete = {
|
||||||
|
"id": number; // id
|
||||||
|
};
|
||||||
|
type Restore = {
|
||||||
|
"id": number; // id
|
||||||
|
};
|
||||||
|
type Delete = {
|
||||||
|
"id": number; // id
|
||||||
};
|
};
|
||||||
type Select = {
|
type Select = {
|
||||||
"name"?: string; // -
|
"name"?: string; // 模糊搜索:名称
|
||||||
"leader_name"?: string; // -
|
"leader_name"?: string; // 队长名称
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
namespace EmergencyEvents {
|
namespace EmergencyEvents {
|
||||||
type List = {
|
type List = {
|
||||||
"name"?: string; // -
|
"name"?: string; // 模糊搜索:事件名称
|
||||||
"asset_projects_id"?: number; // -
|
"asset_projects_id"?: number; // 事发项目ID
|
||||||
"asset_projects_name"?: string; // -
|
"asset_projects_name"?: string; // 事发项目名称
|
||||||
"emergency_event_employees_id"?: number; // -
|
"emergency_event_employees_id"?: number; // 报事人ID
|
||||||
"reporter_name"?: string; // -
|
"reporter_name"?: string; // 报事人名称
|
||||||
"emergency_time"?: string[]; // -
|
"emergency_time"?: string[]; // 事发时间范围
|
||||||
"status"?: string; // -
|
"status"?: string; // 状态,[enum:EmergencyEventsStatusEnum]
|
||||||
"audit_status"?: string; // -
|
"audit_status"?: string; // 审核状态,[enum:EmergencyEventsAuditStatusEnum]
|
||||||
};
|
};
|
||||||
type Store = {
|
type Store = {
|
||||||
"name": string; // -
|
"name": string; // 事件名称
|
||||||
"two_emergency_categories_id": number; // -
|
"two_emergency_categories_id": number; // 二级分类ID,[ref:emergency_event_categories]
|
||||||
"emergency_event_levels_id": number; // -
|
"emergency_event_levels_id": number; // 事件等级ID,[ref:emergency_event_levels]
|
||||||
"asset_projects_id": number; // -
|
"asset_projects_id": number; // 项目ID,[ref:asset_projects]
|
||||||
"emergency_time": Date; // -
|
"emergency_time": Date; // 事件发生时间
|
||||||
"emergency_location": string; // -
|
"emergency_location": string; // 事件发生地点
|
||||||
"emergency_description": string; // -
|
"emergency_description": string; // 事件描述
|
||||||
"emergency_cause": string; // -
|
"emergency_cause": string; // 事件原因
|
||||||
"cause_result": string; // -
|
"cause_result": string; // 造成结果
|
||||||
"emergency_images"?: string[]; // -
|
"emergency_images"?: string[]; // 事件图片
|
||||||
"emergency_events_id"?: number; // -
|
"emergency_events_id"?: number; // 关联事件ID,[ref:emergency_events]
|
||||||
"related_person"?: string; // -
|
"related_person"?: string; // 关联人物
|
||||||
"supplement"?: string; // -
|
"supplement"?: string; // 补充信息
|
||||||
"compensation_type"?: string; // -
|
"compensation_type"?: string; // 赔偿类型,[enum:EmergencyEventsCompensationTypeEnum]
|
||||||
"compensation_rate"?: number; // -
|
"compensation_rate"?: number; // 赔偿比例
|
||||||
"compensation_amount"?: number; // -
|
"compensation_amount"?: number; // 赔偿金额
|
||||||
"compensation_paid_amount"?: number; // -
|
"compensation_paid_amount"?: number; // 已支付赔偿金额
|
||||||
"emergency_event_organizations_id": number; // -
|
"emergency_event_organizations_id": number; // 提报组织ID,[ref:organizations]
|
||||||
};
|
};
|
||||||
type Update = {
|
type Update = {
|
||||||
"id": number; // -
|
"id": number; // id
|
||||||
"name": string; // -
|
"name": string; // 事件名称
|
||||||
"two_emergency_categories_id": number; // -
|
"two_emergency_categories_id": number; // 二级分类ID,[ref:emergency_event_categories]
|
||||||
"emergency_event_levels_id": number; // -
|
"emergency_event_levels_id": number; // 事件等级ID,[ref:emergency_event_levels]
|
||||||
"emergency_event_levels_name"?: string; // -
|
"emergency_event_levels_name"?: string; // 事件等级名称
|
||||||
"asset_projects_id": number; // -
|
"asset_projects_id": number; // 项目ID,[ref:asset_projects]
|
||||||
"emergency_time": Date; // -
|
"emergency_time": Date; // 事件发生时间
|
||||||
"emergency_location": string; // -
|
"emergency_location": string; // 事件发生地点
|
||||||
"emergency_description": string; // -
|
"emergency_description": string; // 事件描述
|
||||||
"emergency_cause": string; // -
|
"emergency_cause": string; // 事件原因
|
||||||
"cause_result": string; // -
|
"cause_result": string; // 造成结果
|
||||||
"emergency_images"?: string[]; // -
|
"emergency_images"?: string[]; // 事件图片
|
||||||
"emergency_events_id"?: number; // -
|
"emergency_events_id"?: number; // 关联事件ID,[ref:emergency_events]
|
||||||
"related_person"?: string; // -
|
"related_person"?: string; // 关联人物
|
||||||
"supplement"?: string; // -
|
"supplement"?: string; // 补充信息
|
||||||
"compensation_type"?: string; // -
|
"compensation_type"?: string; // 赔偿类型,[enum:EmergencyEventsCompensationTypeEnum]
|
||||||
"compensation_rate"?: number; // -
|
"compensation_rate"?: number; // 赔偿比例
|
||||||
"compensation_amount"?: number; // -
|
"compensation_amount"?: number; // 赔偿金额
|
||||||
"compensation_paid_amount"?: number; // -
|
"compensation_paid_amount"?: number; // 已支付赔偿金额
|
||||||
|
};
|
||||||
|
type Show = {
|
||||||
|
"id": number; // id
|
||||||
};
|
};
|
||||||
type Assign = {
|
type Assign = {
|
||||||
"id": number; // -
|
"id": number; // id
|
||||||
"two_emergency_categories_id": number; // -
|
"two_emergency_categories_id": number; // 二级分类ID,[ref:emergency_event_categories]
|
||||||
"emergency_event_teams_id"?: number; // -
|
"emergency_event_teams_id"?: number; // 处理团队ID,[ref:emergency_event_teams]
|
||||||
};
|
};
|
||||||
type ApplyClose = {
|
type ApplyClose = {
|
||||||
"id": number; // -
|
"id": number; // id
|
||||||
"handled_result"?: string; // -
|
"handled_result"?: string; // 处理结果
|
||||||
"introspection"?: string; // -
|
"introspection"?: string; // 反思与总结
|
||||||
};
|
};
|
||||||
type Audit = {
|
type Audit = {
|
||||||
"id": number; // -
|
"id": number; // id
|
||||||
"audit_status": string; // -
|
"audit_status": string; // 审核状态,[enum:EmergencyEventsAuditStatusEnum]
|
||||||
"audit_remark"?: string; // -
|
"audit_remark"?: string; // 审核备注
|
||||||
|
};
|
||||||
|
type SoftDelete = {
|
||||||
|
"id": number; // id
|
||||||
|
};
|
||||||
|
type Restore = {
|
||||||
|
"id": number; // id
|
||||||
|
};
|
||||||
|
type Delete = {
|
||||||
|
"id": number; // id
|
||||||
};
|
};
|
||||||
type Select = {
|
type Select = {
|
||||||
"keywords"?: string; // -
|
"keywords"?: string; // 关键词
|
||||||
"asset_projects_id"?: number; // -
|
"asset_projects_id"?: number; // 项目ID
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -3563,6 +3636,8 @@ declare namespace ApiTypes {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
namespace Statistics {
|
namespace Statistics {
|
||||||
|
namespace ContractsCount {
|
||||||
|
}
|
||||||
namespace IndexCount {
|
namespace IndexCount {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -3864,6 +3939,12 @@ declare namespace ApiTypes {
|
|||||||
type Closed = {
|
type Closed = {
|
||||||
"id": number; // id
|
"id": number; // id
|
||||||
};
|
};
|
||||||
|
type SoftDelete = {
|
||||||
|
"id": number; // id
|
||||||
|
};
|
||||||
|
type Restore = {
|
||||||
|
"id": number; // id
|
||||||
|
};
|
||||||
type Delete = {
|
type Delete = {
|
||||||
"id": number; // id
|
"id": number; // id
|
||||||
};
|
};
|
||||||
|
|||||||
119
src/gen/Apis.ts
119
src/gen/Apis.ts
@ -335,6 +335,9 @@ export const Apis = {
|
|||||||
Enable(data: ApiTypes.Attendance.AttendanceConfigs.Enable): Promise<MyResponseType> {
|
Enable(data: ApiTypes.Attendance.AttendanceConfigs.Enable): Promise<MyResponseType> {
|
||||||
return request('company/attendance/attendance_configs/enable', { data });
|
return request('company/attendance/attendance_configs/enable', { data });
|
||||||
},
|
},
|
||||||
|
Delete(data: ApiTypes.Attendance.AttendanceConfigs.Delete): Promise<MyResponseType> {
|
||||||
|
return request('company/attendance/attendance_configs/delete', { data });
|
||||||
|
},
|
||||||
},
|
},
|
||||||
AttendanceEmployeeTracks: {
|
AttendanceEmployeeTracks: {
|
||||||
List(data?: ApiTypes.Attendance.AttendanceEmployeeTracks.List): Promise<MyResponseType> {
|
List(data?: ApiTypes.Attendance.AttendanceEmployeeTracks.List): Promise<MyResponseType> {
|
||||||
@ -1211,17 +1214,17 @@ export const Apis = {
|
|||||||
Update(data: ApiTypes.Emergency.EmergencyEventBills.Update): Promise<MyResponseType> {
|
Update(data: ApiTypes.Emergency.EmergencyEventBills.Update): Promise<MyResponseType> {
|
||||||
return request('company/emergency/emergency_event_bills/update', { data });
|
return request('company/emergency/emergency_event_bills/update', { data });
|
||||||
},
|
},
|
||||||
Show(): Promise<MyResponseType> {
|
Show(data: ApiTypes.Emergency.EmergencyEventBills.Show): Promise<MyResponseType> {
|
||||||
return request('company/emergency/emergency_event_bills/show', {});
|
return request('company/emergency/emergency_event_bills/show', { data });
|
||||||
},
|
},
|
||||||
SoftDelete(): Promise<MyResponseType> {
|
SoftDelete(data: ApiTypes.Emergency.EmergencyEventBills.SoftDelete): Promise<MyResponseType> {
|
||||||
return request('company/emergency/emergency_event_bills/soft_delete', {});
|
return request('company/emergency/emergency_event_bills/soft_delete', { data });
|
||||||
},
|
},
|
||||||
Restore(): Promise<MyResponseType> {
|
Restore(data: ApiTypes.Emergency.EmergencyEventBills.Restore): Promise<MyResponseType> {
|
||||||
return request('company/emergency/emergency_event_bills/restore', {});
|
return request('company/emergency/emergency_event_bills/restore', { data });
|
||||||
},
|
},
|
||||||
Delete(): Promise<MyResponseType> {
|
Delete(data: ApiTypes.Emergency.EmergencyEventBills.Delete): Promise<MyResponseType> {
|
||||||
return request('company/emergency/emergency_event_bills/delete', {});
|
return request('company/emergency/emergency_event_bills/delete', { data });
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
EmergencyEventCategories: {
|
EmergencyEventCategories: {
|
||||||
@ -1240,20 +1243,20 @@ export const Apis = {
|
|||||||
Move(data: ApiTypes.Emergency.EmergencyEventCategories.Move): Promise<MyResponseType> {
|
Move(data: ApiTypes.Emergency.EmergencyEventCategories.Move): Promise<MyResponseType> {
|
||||||
return request('company/emergency/emergency_event_categories/move', { data });
|
return request('company/emergency/emergency_event_categories/move', { data });
|
||||||
},
|
},
|
||||||
Show(): Promise<MyResponseType> {
|
Show(data: ApiTypes.Emergency.EmergencyEventCategories.Show): Promise<MyResponseType> {
|
||||||
return request('company/emergency/emergency_event_categories/show', {});
|
return request('company/emergency/emergency_event_categories/show', { data });
|
||||||
},
|
},
|
||||||
SoftDelete(): Promise<MyResponseType> {
|
SoftDelete(data: ApiTypes.Emergency.EmergencyEventCategories.SoftDelete): Promise<MyResponseType> {
|
||||||
return request('company/emergency/emergency_event_categories/soft_delete', {});
|
return request('company/emergency/emergency_event_categories/soft_delete', { data });
|
||||||
},
|
},
|
||||||
Restore(): Promise<MyResponseType> {
|
Restore(data: ApiTypes.Emergency.EmergencyEventCategories.Restore): Promise<MyResponseType> {
|
||||||
return request('company/emergency/emergency_event_categories/restore', {});
|
return request('company/emergency/emergency_event_categories/restore', { data });
|
||||||
},
|
},
|
||||||
Delete(): Promise<MyResponseType> {
|
Delete(data: ApiTypes.Emergency.EmergencyEventCategories.Delete): Promise<MyResponseType> {
|
||||||
return request('company/emergency/emergency_event_categories/delete', {});
|
return request('company/emergency/emergency_event_categories/delete', { data });
|
||||||
},
|
},
|
||||||
Select(): Promise<MyResponseType> {
|
Select(data?: ApiTypes.Emergency.EmergencyEventCategories.Select): Promise<MyResponseType> {
|
||||||
return request('company/emergency/emergency_event_categories/select', {});
|
return request('company/emergency/emergency_event_categories/select', { data });
|
||||||
},
|
},
|
||||||
SelectTree(data?: ApiTypes.Emergency.EmergencyEventCategories.SelectTree): Promise<MyResponseType> {
|
SelectTree(data?: ApiTypes.Emergency.EmergencyEventCategories.SelectTree): Promise<MyResponseType> {
|
||||||
return request('company/emergency/emergency_event_categories/select_tree', { data });
|
return request('company/emergency/emergency_event_categories/select_tree', { data });
|
||||||
@ -1266,13 +1269,16 @@ export const Apis = {
|
|||||||
Store(data: ApiTypes.Emergency.EmergencyEventFollows.Store): Promise<MyResponseType> {
|
Store(data: ApiTypes.Emergency.EmergencyEventFollows.Store): Promise<MyResponseType> {
|
||||||
return request('company/emergency/emergency_event_follows/store', { data });
|
return request('company/emergency/emergency_event_follows/store', { data });
|
||||||
},
|
},
|
||||||
Show(): Promise<MyResponseType> {
|
Show(data: ApiTypes.Emergency.EmergencyEventFollows.Show): Promise<MyResponseType> {
|
||||||
return request('company/emergency/emergency_event_follows/show', {});
|
return request('company/emergency/emergency_event_follows/show', { data });
|
||||||
|
},
|
||||||
|
Delete(data: ApiTypes.Emergency.EmergencyEventFollows.Delete): Promise<MyResponseType> {
|
||||||
|
return request('company/emergency/emergency_event_follows/delete', { data });
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
EmergencyEventLevels: {
|
EmergencyEventLevels: {
|
||||||
List(): Promise<MyResponseType> {
|
List(data?: ApiTypes.Emergency.EmergencyEventLevels.List): Promise<MyResponseType> {
|
||||||
return request('company/emergency/emergency_event_levels/list', {});
|
return request('company/emergency/emergency_event_levels/list', { data });
|
||||||
},
|
},
|
||||||
Store(data: ApiTypes.Emergency.EmergencyEventLevels.Store): Promise<MyResponseType> {
|
Store(data: ApiTypes.Emergency.EmergencyEventLevels.Store): Promise<MyResponseType> {
|
||||||
return request('company/emergency/emergency_event_levels/store', { data });
|
return request('company/emergency/emergency_event_levels/store', { data });
|
||||||
@ -1280,20 +1286,20 @@ export const Apis = {
|
|||||||
Update(data: ApiTypes.Emergency.EmergencyEventLevels.Update): Promise<MyResponseType> {
|
Update(data: ApiTypes.Emergency.EmergencyEventLevels.Update): Promise<MyResponseType> {
|
||||||
return request('company/emergency/emergency_event_levels/update', { data });
|
return request('company/emergency/emergency_event_levels/update', { data });
|
||||||
},
|
},
|
||||||
Show(): Promise<MyResponseType> {
|
Show(data: ApiTypes.Emergency.EmergencyEventLevels.Show): Promise<MyResponseType> {
|
||||||
return request('company/emergency/emergency_event_levels/show', {});
|
return request('company/emergency/emergency_event_levels/show', { data });
|
||||||
},
|
},
|
||||||
SoftDelete(): Promise<MyResponseType> {
|
SoftDelete(data: ApiTypes.Emergency.EmergencyEventLevels.SoftDelete): Promise<MyResponseType> {
|
||||||
return request('company/emergency/emergency_event_levels/soft_delete', {});
|
return request('company/emergency/emergency_event_levels/soft_delete', { data });
|
||||||
},
|
},
|
||||||
Restore(): Promise<MyResponseType> {
|
Restore(data: ApiTypes.Emergency.EmergencyEventLevels.Restore): Promise<MyResponseType> {
|
||||||
return request('company/emergency/emergency_event_levels/restore', {});
|
return request('company/emergency/emergency_event_levels/restore', { data });
|
||||||
},
|
},
|
||||||
Delete(): Promise<MyResponseType> {
|
Delete(data: ApiTypes.Emergency.EmergencyEventLevels.Delete): Promise<MyResponseType> {
|
||||||
return request('company/emergency/emergency_event_levels/delete', {});
|
return request('company/emergency/emergency_event_levels/delete', { data });
|
||||||
},
|
},
|
||||||
Select(): Promise<MyResponseType> {
|
Select(data?: ApiTypes.Emergency.EmergencyEventLevels.Select): Promise<MyResponseType> {
|
||||||
return request('company/emergency/emergency_event_levels/select', {});
|
return request('company/emergency/emergency_event_levels/select', { data });
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
EmergencyEventTeams: {
|
EmergencyEventTeams: {
|
||||||
@ -1306,17 +1312,17 @@ export const Apis = {
|
|||||||
Update(data: ApiTypes.Emergency.EmergencyEventTeams.Update): Promise<MyResponseType> {
|
Update(data: ApiTypes.Emergency.EmergencyEventTeams.Update): Promise<MyResponseType> {
|
||||||
return request('company/emergency/emergency_event_teams/update', { data });
|
return request('company/emergency/emergency_event_teams/update', { data });
|
||||||
},
|
},
|
||||||
Show(): Promise<MyResponseType> {
|
Show(data: ApiTypes.Emergency.EmergencyEventTeams.Show): Promise<MyResponseType> {
|
||||||
return request('company/emergency/emergency_event_teams/show', {});
|
return request('company/emergency/emergency_event_teams/show', { data });
|
||||||
},
|
},
|
||||||
SoftDelete(): Promise<MyResponseType> {
|
SoftDelete(data: ApiTypes.Emergency.EmergencyEventTeams.SoftDelete): Promise<MyResponseType> {
|
||||||
return request('company/emergency/emergency_event_teams/soft_delete', {});
|
return request('company/emergency/emergency_event_teams/soft_delete', { data });
|
||||||
},
|
},
|
||||||
Restore(): Promise<MyResponseType> {
|
Restore(data: ApiTypes.Emergency.EmergencyEventTeams.Restore): Promise<MyResponseType> {
|
||||||
return request('company/emergency/emergency_event_teams/restore', {});
|
return request('company/emergency/emergency_event_teams/restore', { data });
|
||||||
},
|
},
|
||||||
Delete(): Promise<MyResponseType> {
|
Delete(data: ApiTypes.Emergency.EmergencyEventTeams.Delete): Promise<MyResponseType> {
|
||||||
return request('company/emergency/emergency_event_teams/delete', {});
|
return request('company/emergency/emergency_event_teams/delete', { data });
|
||||||
},
|
},
|
||||||
Select(data?: ApiTypes.Emergency.EmergencyEventTeams.Select): Promise<MyResponseType> {
|
Select(data?: ApiTypes.Emergency.EmergencyEventTeams.Select): Promise<MyResponseType> {
|
||||||
return request('company/emergency/emergency_event_teams/select', { data });
|
return request('company/emergency/emergency_event_teams/select', { data });
|
||||||
@ -1332,8 +1338,8 @@ export const Apis = {
|
|||||||
Update(data: ApiTypes.Emergency.EmergencyEvents.Update): Promise<MyResponseType> {
|
Update(data: ApiTypes.Emergency.EmergencyEvents.Update): Promise<MyResponseType> {
|
||||||
return request('company/emergency/emergency_events/update', { data });
|
return request('company/emergency/emergency_events/update', { data });
|
||||||
},
|
},
|
||||||
Show(): Promise<MyResponseType> {
|
Show(data: ApiTypes.Emergency.EmergencyEvents.Show): Promise<MyResponseType> {
|
||||||
return request('company/emergency/emergency_events/show', {});
|
return request('company/emergency/emergency_events/show', { data });
|
||||||
},
|
},
|
||||||
Assign(data: ApiTypes.Emergency.EmergencyEvents.Assign): Promise<MyResponseType> {
|
Assign(data: ApiTypes.Emergency.EmergencyEvents.Assign): Promise<MyResponseType> {
|
||||||
return request('company/emergency/emergency_events/assign', { data });
|
return request('company/emergency/emergency_events/assign', { data });
|
||||||
@ -1344,14 +1350,14 @@ export const Apis = {
|
|||||||
Audit(data: ApiTypes.Emergency.EmergencyEvents.Audit): Promise<MyResponseType> {
|
Audit(data: ApiTypes.Emergency.EmergencyEvents.Audit): Promise<MyResponseType> {
|
||||||
return request('company/emergency/emergency_events/audit', { data });
|
return request('company/emergency/emergency_events/audit', { data });
|
||||||
},
|
},
|
||||||
SoftDelete(): Promise<MyResponseType> {
|
SoftDelete(data: ApiTypes.Emergency.EmergencyEvents.SoftDelete): Promise<MyResponseType> {
|
||||||
return request('company/emergency/emergency_events/soft_delete', {});
|
return request('company/emergency/emergency_events/soft_delete', { data });
|
||||||
},
|
},
|
||||||
Restore(): Promise<MyResponseType> {
|
Restore(data: ApiTypes.Emergency.EmergencyEvents.Restore): Promise<MyResponseType> {
|
||||||
return request('company/emergency/emergency_events/restore', {});
|
return request('company/emergency/emergency_events/restore', { data });
|
||||||
},
|
},
|
||||||
Delete(): Promise<MyResponseType> {
|
Delete(data: ApiTypes.Emergency.EmergencyEvents.Delete): Promise<MyResponseType> {
|
||||||
return request('company/emergency/emergency_events/delete', {});
|
return request('company/emergency/emergency_events/delete', { data });
|
||||||
},
|
},
|
||||||
Select(data?: ApiTypes.Emergency.EmergencyEvents.Select): Promise<MyResponseType> {
|
Select(data?: ApiTypes.Emergency.EmergencyEvents.Select): Promise<MyResponseType> {
|
||||||
return request('company/emergency/emergency_events/select', { data });
|
return request('company/emergency/emergency_events/select', { data });
|
||||||
@ -1973,6 +1979,17 @@ export const Apis = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
Statistics: {
|
Statistics: {
|
||||||
|
ContractsCount: {
|
||||||
|
StatusOverview(): Promise<MyResponseType> {
|
||||||
|
return request('company/statistics/contracts_count/status_overview', {});
|
||||||
|
},
|
||||||
|
ArchiveUsage(): Promise<MyResponseType> {
|
||||||
|
return request('company/statistics/contracts_count/archive_usage', {});
|
||||||
|
},
|
||||||
|
ClearCache(): Promise<MyResponseType> {
|
||||||
|
return request('company/statistics/contracts_count/clear_cache', {});
|
||||||
|
},
|
||||||
|
},
|
||||||
IndexCount: {
|
IndexCount: {
|
||||||
FinancialAnalysis(): Promise<MyResponseType> {
|
FinancialAnalysis(): Promise<MyResponseType> {
|
||||||
return request('company/statistics/index_count/financial_analysis', {});
|
return request('company/statistics/index_count/financial_analysis', {});
|
||||||
@ -2184,6 +2201,12 @@ export const Apis = {
|
|||||||
Closed(data: ApiTypes.WorkOrder.HouseWorkOrders.Closed): Promise<MyResponseType> {
|
Closed(data: ApiTypes.WorkOrder.HouseWorkOrders.Closed): Promise<MyResponseType> {
|
||||||
return request('company/work_order/house_work_orders/closed', { data });
|
return request('company/work_order/house_work_orders/closed', { data });
|
||||||
},
|
},
|
||||||
|
SoftDelete(data: ApiTypes.WorkOrder.HouseWorkOrders.SoftDelete): Promise<MyResponseType> {
|
||||||
|
return request('company/work_order/house_work_orders/soft_delete', { data });
|
||||||
|
},
|
||||||
|
Restore(data: ApiTypes.WorkOrder.HouseWorkOrders.Restore): Promise<MyResponseType> {
|
||||||
|
return request('company/work_order/house_work_orders/restore', { data });
|
||||||
|
},
|
||||||
Delete(data: ApiTypes.WorkOrder.HouseWorkOrders.Delete): Promise<MyResponseType> {
|
Delete(data: ApiTypes.WorkOrder.HouseWorkOrders.Delete): Promise<MyResponseType> {
|
||||||
return request('company/work_order/house_work_orders/delete', { data });
|
return request('company/work_order/house_work_orders/delete', { data });
|
||||||
},
|
},
|
||||||
|
|||||||
@ -1,4 +1,9 @@
|
|||||||
import { MyColumns, MyPageContainer, MyProTableProps } from '@/common';
|
import {
|
||||||
|
MyButtons,
|
||||||
|
MyColumns,
|
||||||
|
MyPageContainer,
|
||||||
|
MyProTableProps,
|
||||||
|
} from '@/common';
|
||||||
import { Apis } from '@/gen/Apis';
|
import { Apis } from '@/gen/Apis';
|
||||||
import { ProTable } from '@ant-design/pro-components';
|
import { ProTable } from '@ant-design/pro-components';
|
||||||
import { Space } from 'antd';
|
import { Space } from 'antd';
|
||||||
@ -37,6 +42,11 @@ export default function Index({ title = '打卡配置' }) {
|
|||||||
dataIndex: 'check_in_range',
|
dataIndex: 'check_in_range',
|
||||||
search: false,
|
search: false,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
title: '关联项目',
|
||||||
|
dataIndex: ['asset_project', 'name'],
|
||||||
|
search: false,
|
||||||
|
},
|
||||||
MyColumns.Boolean({
|
MyColumns.Boolean({
|
||||||
dataIndex: 'require_photo',
|
dataIndex: 'require_photo',
|
||||||
title: '是否要求拍照打卡',
|
title: '是否要求拍照打卡',
|
||||||
@ -58,6 +68,13 @@ export default function Index({ title = '打卡配置' }) {
|
|||||||
render: (_, item: any, index, action) => (
|
render: (_, item: any, index, action) => (
|
||||||
<Space key={index}>
|
<Space key={index}>
|
||||||
<Update item={item} reload={action?.reload} title={title} />
|
<Update item={item} reload={action?.reload} title={title} />
|
||||||
|
<MyButtons.Delete
|
||||||
|
onConfirm={() =>
|
||||||
|
Apis.Attendance.AttendanceConfigs.Delete({
|
||||||
|
id: item.id,
|
||||||
|
}).then(() => action?.reload())
|
||||||
|
}
|
||||||
|
/>
|
||||||
</Space>
|
</Space>
|
||||||
),
|
),
|
||||||
}),
|
}),
|
||||||
|
|||||||
@ -4,6 +4,7 @@ import {
|
|||||||
MyModalFormProps,
|
MyModalFormProps,
|
||||||
rulesHelper,
|
rulesHelper,
|
||||||
} from '@/common';
|
} from '@/common';
|
||||||
|
import { SelectContract } from '@/components/SelectContract';
|
||||||
import { Apis } from '@/gen/Apis';
|
import { Apis } from '@/gen/Apis';
|
||||||
import { BetaSchemaForm } from '@ant-design/pro-components';
|
import { BetaSchemaForm } from '@ant-design/pro-components';
|
||||||
import { Form, message } from 'antd';
|
import { Form, message } from 'antd';
|
||||||
@ -27,6 +28,7 @@ export default function Update(props: MyBetaModalFormProps) {
|
|||||||
onFinish={async (values) =>
|
onFinish={async (values) =>
|
||||||
Apis.Attendance.AttendanceConfigs.UpdateConfig({
|
Apis.Attendance.AttendanceConfigs.UpdateConfig({
|
||||||
...values,
|
...values,
|
||||||
|
require_photo: values?.require_photo ? true : false,
|
||||||
id: props.item?.id ?? 1,
|
id: props.item?.id ?? 1,
|
||||||
})
|
})
|
||||||
.then(() => {
|
.then(() => {
|
||||||
@ -37,6 +39,16 @@ export default function Update(props: MyBetaModalFormProps) {
|
|||||||
.catch(() => false)
|
.catch(() => false)
|
||||||
}
|
}
|
||||||
columns={[
|
columns={[
|
||||||
|
SelectContract.AssetProjects({
|
||||||
|
key: 'asset_projects_id',
|
||||||
|
title: '关联项目',
|
||||||
|
colProps: { span: 24 },
|
||||||
|
required: true,
|
||||||
|
fieldProps: {
|
||||||
|
showSearch: true,
|
||||||
|
// mode: 'multiple',
|
||||||
|
},
|
||||||
|
}),
|
||||||
{
|
{
|
||||||
key: 'check_in_range',
|
key: 'check_in_range',
|
||||||
title: '可打卡范围',
|
title: '可打卡范围',
|
||||||
|
|||||||
@ -127,7 +127,7 @@ export default function Index({ title = '新增班次' }) {
|
|||||||
valueType: 'time',
|
valueType: 'time',
|
||||||
fieldProps: {
|
fieldProps: {
|
||||||
style: { width: '100%' },
|
style: { width: '100%' },
|
||||||
placeholder: '请输入班次开始时间',
|
placeholder: '请选择班次开始时间',
|
||||||
format: 'HH:mm',
|
format: 'HH:mm',
|
||||||
},
|
},
|
||||||
colProps: { span: 8 },
|
colProps: { span: 8 },
|
||||||
@ -138,7 +138,7 @@ export default function Index({ title = '新增班次' }) {
|
|||||||
valueType: 'time',
|
valueType: 'time',
|
||||||
fieldProps: {
|
fieldProps: {
|
||||||
style: { width: '100%' },
|
style: { width: '100%' },
|
||||||
placeholder: '请输入班次开始时间',
|
placeholder: '请选择班次结束时间',
|
||||||
format: 'HH:mm',
|
format: 'HH:mm',
|
||||||
},
|
},
|
||||||
colProps: { span: 8 },
|
colProps: { span: 8 },
|
||||||
|
|||||||
@ -197,7 +197,7 @@ export default function Index({ title = '编辑班次' }) {
|
|||||||
valueType: 'time',
|
valueType: 'time',
|
||||||
fieldProps: {
|
fieldProps: {
|
||||||
style: { width: '100%' },
|
style: { width: '100%' },
|
||||||
placeholder: '请输入班次开始时间',
|
placeholder: '请选择班次开始时间',
|
||||||
format: 'HH:mm',
|
format: 'HH:mm',
|
||||||
},
|
},
|
||||||
colProps: { span: 8 },
|
colProps: { span: 8 },
|
||||||
@ -207,7 +207,7 @@ export default function Index({ title = '编辑班次' }) {
|
|||||||
key: 'work_end_time',
|
key: 'work_end_time',
|
||||||
fieldProps: {
|
fieldProps: {
|
||||||
style: { width: '100%' },
|
style: { width: '100%' },
|
||||||
placeholder: '请输入班次开始时间',
|
placeholder: '请选择班次结束时间',
|
||||||
format: 'HH:mm',
|
format: 'HH:mm',
|
||||||
},
|
},
|
||||||
valueType: 'time',
|
valueType: 'time',
|
||||||
|
|||||||
@ -1,9 +1,4 @@
|
|||||||
import {
|
import { MyButtons, MyColumns, MyProTableProps } from '@/common';
|
||||||
MyButtons,
|
|
||||||
MyColumns,
|
|
||||||
MyProTableProps,
|
|
||||||
useCurrentPermissions,
|
|
||||||
} from '@/common';
|
|
||||||
import { Apis } from '@/gen/Apis';
|
import { Apis } from '@/gen/Apis';
|
||||||
import { ProTable } from '@ant-design/pro-components';
|
import { ProTable } from '@ant-design/pro-components';
|
||||||
import { Space } from 'antd';
|
import { Space } from 'antd';
|
||||||
@ -11,33 +6,6 @@ import Create from './modals/Create';
|
|||||||
import Update from './modals/Update';
|
import Update from './modals/Update';
|
||||||
|
|
||||||
export default function Index({ title = '分类' }) {
|
export default function Index({ title = '分类' }) {
|
||||||
const getCurrentPermissions = useCurrentPermissions();
|
|
||||||
let toolBarRender = (action: any) => {
|
|
||||||
return getCurrentPermissions(
|
|
||||||
{
|
|
||||||
create: <Create key="Create" reload={action?.reload} title={title} />,
|
|
||||||
},
|
|
||||||
'MyCategories',
|
|
||||||
);
|
|
||||||
};
|
|
||||||
let tableRender = (item: any, action: any) => {
|
|
||||||
return getCurrentPermissions(
|
|
||||||
{
|
|
||||||
update: <Update item={item} reload={action?.reload} title={title} />,
|
|
||||||
delete: (
|
|
||||||
<MyButtons.Delete
|
|
||||||
onConfirm={() =>
|
|
||||||
Apis.Emergency.EmergencyEventCategories.Delete({
|
|
||||||
id: item.id,
|
|
||||||
}).then(() => action?.reload())
|
|
||||||
}
|
|
||||||
/>
|
|
||||||
),
|
|
||||||
},
|
|
||||||
'MyCategories',
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<ProTable
|
<ProTable
|
||||||
{...MyProTableProps.props}
|
{...MyProTableProps.props}
|
||||||
@ -49,7 +17,9 @@ export default function Index({ title = '分类' }) {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
headerTitle="突发事件分类"
|
headerTitle="突发事件分类"
|
||||||
toolBarRender={(action) => [toolBarRender(action)]}
|
toolBarRender={(action) => [
|
||||||
|
<Create key="Create" reload={action?.reload} title={title} />,
|
||||||
|
]}
|
||||||
columns={[
|
columns={[
|
||||||
MyColumns.ID({
|
MyColumns.ID({
|
||||||
search: false,
|
search: false,
|
||||||
@ -72,7 +42,17 @@ export default function Index({ title = '分类' }) {
|
|||||||
MyColumns.CreatedAt(),
|
MyColumns.CreatedAt(),
|
||||||
MyColumns.Option({
|
MyColumns.Option({
|
||||||
render: (_, item: any, index, action) => (
|
render: (_, item: any, index, action) => (
|
||||||
<Space key={index}>{tableRender(item, action)}</Space>
|
<Space key={index}>
|
||||||
|
{' '}
|
||||||
|
<Update item={item} reload={action?.reload} title={title} />
|
||||||
|
<MyButtons.Delete
|
||||||
|
onConfirm={() =>
|
||||||
|
Apis.Emergency.EmergencyEventCategories.Delete({
|
||||||
|
id: item.id,
|
||||||
|
}).then(() => action?.reload())
|
||||||
|
}
|
||||||
|
/>
|
||||||
|
</Space>
|
||||||
),
|
),
|
||||||
}),
|
}),
|
||||||
]}
|
]}
|
||||||
|
|||||||
@ -7,9 +7,10 @@ import {
|
|||||||
import { TreeSelects } from '@/components/TreeSelect';
|
import { TreeSelects } from '@/components/TreeSelect';
|
||||||
import { Apis } from '@/gen/Apis';
|
import { Apis } from '@/gen/Apis';
|
||||||
import { BetaSchemaForm } from '@ant-design/pro-components';
|
import { BetaSchemaForm } from '@ant-design/pro-components';
|
||||||
import { message } from 'antd';
|
import { Form, message } from 'antd';
|
||||||
|
|
||||||
export default function Create(props: MyBetaModalFormProps) {
|
export default function Create(props: MyBetaModalFormProps) {
|
||||||
|
const [form] = Form.useForm();
|
||||||
return (
|
return (
|
||||||
<BetaSchemaForm<ApiTypes.Emergency.EmergencyEventCategories.Store>
|
<BetaSchemaForm<ApiTypes.Emergency.EmergencyEventCategories.Store>
|
||||||
{...MyModalFormProps.props}
|
{...MyModalFormProps.props}
|
||||||
@ -17,7 +18,13 @@ export default function Create(props: MyBetaModalFormProps) {
|
|||||||
wrapperCol={{ span: 24 }}
|
wrapperCol={{ span: 24 }}
|
||||||
width="500px"
|
width="500px"
|
||||||
key={new Date().getTime()}
|
key={new Date().getTime()}
|
||||||
|
form={form}
|
||||||
trigger={<MyButtons.Create title={`添加${props.title}`} />}
|
trigger={<MyButtons.Create title={`添加${props.title}`} />}
|
||||||
|
onOpenChange={(open: any) => {
|
||||||
|
if (open) {
|
||||||
|
form.resetFields();
|
||||||
|
}
|
||||||
|
}}
|
||||||
onFinish={async (values) =>
|
onFinish={async (values) =>
|
||||||
Apis.Emergency.EmergencyEventCategories.Store(values)
|
Apis.Emergency.EmergencyEventCategories.Store(values)
|
||||||
.then(() => {
|
.then(() => {
|
||||||
|
|||||||
@ -1,9 +1,4 @@
|
|||||||
import {
|
import { MyButtons, MyColumns, MyProTableProps } from '@/common';
|
||||||
MyButtons,
|
|
||||||
MyColumns,
|
|
||||||
MyProTableProps,
|
|
||||||
useCurrentPermissions,
|
|
||||||
} from '@/common';
|
|
||||||
import { Apis } from '@/gen/Apis';
|
import { Apis } from '@/gen/Apis';
|
||||||
import {
|
import {
|
||||||
EmergencyEventsCompensationTypeEnum,
|
EmergencyEventsCompensationTypeEnum,
|
||||||
@ -17,42 +12,6 @@ import Review from './modals/Review';
|
|||||||
import Update from './modals/Update';
|
import Update from './modals/Update';
|
||||||
|
|
||||||
export default function Index({ title = '突发事件' }) {
|
export default function Index({ title = '突发事件' }) {
|
||||||
const getCurrentPermissions = useCurrentPermissions();
|
|
||||||
|
|
||||||
let toolBarRender = (action: any) => {
|
|
||||||
return getCurrentPermissions(
|
|
||||||
{
|
|
||||||
create: <Create key="Create" reload={action?.reload} title={title} />,
|
|
||||||
},
|
|
||||||
'MyEvents',
|
|
||||||
);
|
|
||||||
};
|
|
||||||
let tableRender = (item: any, action: any) => {
|
|
||||||
return getCurrentPermissions(
|
|
||||||
{
|
|
||||||
show: (
|
|
||||||
<MyButtons.View
|
|
||||||
key="show"
|
|
||||||
title="查看"
|
|
||||||
to={`/emergency/events/show/${item.id}`}
|
|
||||||
/>
|
|
||||||
),
|
|
||||||
assign: <Assign item={item} reload={action?.reload} />,
|
|
||||||
update: <Update item={item} reload={action?.reload} title={title} />,
|
|
||||||
review: <Review item={item} reload={action?.reload} />,
|
|
||||||
delete: (
|
|
||||||
<MyButtons.Delete
|
|
||||||
onConfirm={() =>
|
|
||||||
Apis.Emergency.EmergencyEvents.Delete({
|
|
||||||
id: item.id,
|
|
||||||
}).then(() => action?.reload())
|
|
||||||
}
|
|
||||||
/>
|
|
||||||
),
|
|
||||||
},
|
|
||||||
'MyEvents',
|
|
||||||
);
|
|
||||||
};
|
|
||||||
return (
|
return (
|
||||||
<ProTable
|
<ProTable
|
||||||
{...MyProTableProps.props}
|
{...MyProTableProps.props}
|
||||||
@ -64,7 +23,9 @@ export default function Index({ title = '突发事件' }) {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
headerTitle={`${title}列表`}
|
headerTitle={`${title}列表`}
|
||||||
toolBarRender={(action: any) => [toolBarRender(action)]}
|
toolBarRender={(action: any) => [
|
||||||
|
<Create key="Create" reload={action?.reload} title={title} />,
|
||||||
|
]}
|
||||||
columns={[
|
columns={[
|
||||||
MyColumns.ID({
|
MyColumns.ID({
|
||||||
search: false,
|
search: false,
|
||||||
@ -117,7 +78,23 @@ export default function Index({ title = '突发事件' }) {
|
|||||||
MyColumns.CreatedAt(),
|
MyColumns.CreatedAt(),
|
||||||
MyColumns.Option({
|
MyColumns.Option({
|
||||||
render: (_, item: any, index, action) => (
|
render: (_, item: any, index, action) => (
|
||||||
<Space key={index}>{tableRender(item, action)}</Space>
|
<Space key={index}>
|
||||||
|
<MyButtons.View
|
||||||
|
key="show"
|
||||||
|
title="查看"
|
||||||
|
to={`/quality/emergency/events/show/${item.id}`}
|
||||||
|
/>
|
||||||
|
<Assign item={item} reload={action?.reload} />
|
||||||
|
<Update item={item} reload={action?.reload} title={title} />
|
||||||
|
<Review item={item} reload={action?.reload} />
|
||||||
|
<MyButtons.Delete
|
||||||
|
onConfirm={() =>
|
||||||
|
Apis.Emergency.EmergencyEvents.Delete({
|
||||||
|
id: item.id,
|
||||||
|
}).then(() => action?.reload())
|
||||||
|
}
|
||||||
|
/>
|
||||||
|
</Space>
|
||||||
),
|
),
|
||||||
}),
|
}),
|
||||||
]}
|
]}
|
||||||
|
|||||||
@ -3,7 +3,6 @@ import {
|
|||||||
MyButtons,
|
MyButtons,
|
||||||
MyColumns,
|
MyColumns,
|
||||||
MyProTableProps,
|
MyProTableProps,
|
||||||
useCurrentPermissions,
|
|
||||||
} from '@/common';
|
} from '@/common';
|
||||||
import { Apis } from '@/gen/Apis';
|
import { Apis } from '@/gen/Apis';
|
||||||
import { ProTable } from '@ant-design/pro-components';
|
import { ProTable } from '@ant-design/pro-components';
|
||||||
@ -12,40 +11,6 @@ import Create from './modals/Create';
|
|||||||
import Show from './modals/Show';
|
import Show from './modals/Show';
|
||||||
|
|
||||||
export default function Index(props: MyBetaModalFormProps) {
|
export default function Index(props: MyBetaModalFormProps) {
|
||||||
const getCurrentPermissions = useCurrentPermissions();
|
|
||||||
let toolBarRender = (action: any) => {
|
|
||||||
return getCurrentPermissions(
|
|
||||||
{
|
|
||||||
Create: (
|
|
||||||
<Create
|
|
||||||
key="Create"
|
|
||||||
reload={action?.reload}
|
|
||||||
item={props?.item}
|
|
||||||
title="跟进记录"
|
|
||||||
/>
|
|
||||||
),
|
|
||||||
},
|
|
||||||
'MyFollows',
|
|
||||||
);
|
|
||||||
};
|
|
||||||
let tableRender = (item: any, action: any) => {
|
|
||||||
return getCurrentPermissions(
|
|
||||||
{
|
|
||||||
update: <Show item={item} key="Show" />,
|
|
||||||
delete: (
|
|
||||||
<MyButtons.Delete
|
|
||||||
key="delete"
|
|
||||||
onConfirm={() =>
|
|
||||||
Apis.Emergency.EmergencyEventFollows.Delete({
|
|
||||||
id: item.id,
|
|
||||||
}).then(() => action?.reload())
|
|
||||||
}
|
|
||||||
/>
|
|
||||||
),
|
|
||||||
},
|
|
||||||
'MyFollows',
|
|
||||||
);
|
|
||||||
};
|
|
||||||
return (
|
return (
|
||||||
<ProTable
|
<ProTable
|
||||||
{...MyProTableProps.props}
|
{...MyProTableProps.props}
|
||||||
@ -61,7 +26,14 @@ export default function Index(props: MyBetaModalFormProps) {
|
|||||||
}
|
}
|
||||||
search={false}
|
search={false}
|
||||||
headerTitle="跟进记录"
|
headerTitle="跟进记录"
|
||||||
toolBarRender={(action) => [toolBarRender(action)]}
|
toolBarRender={(action) => [
|
||||||
|
<Create
|
||||||
|
key="Create"
|
||||||
|
reload={action?.reload}
|
||||||
|
item={props?.item}
|
||||||
|
title="跟进记录"
|
||||||
|
/>,
|
||||||
|
]}
|
||||||
columns={[
|
columns={[
|
||||||
MyColumns.ID({
|
MyColumns.ID({
|
||||||
search: false,
|
search: false,
|
||||||
@ -94,7 +66,17 @@ export default function Index(props: MyBetaModalFormProps) {
|
|||||||
MyColumns.CreatedAt(),
|
MyColumns.CreatedAt(),
|
||||||
MyColumns.Option({
|
MyColumns.Option({
|
||||||
render: (_, item: any, index, action) => (
|
render: (_, item: any, index, action) => (
|
||||||
<Space key={index}>{tableRender(item, action)}</Space>
|
<Space key={index}>
|
||||||
|
<Show item={item} key="Show" />
|
||||||
|
<MyButtons.Delete
|
||||||
|
key="delete"
|
||||||
|
onConfirm={() =>
|
||||||
|
Apis.Emergency.EmergencyEventFollows.Delete({
|
||||||
|
id: item.id,
|
||||||
|
}).then(() => action?.reload())
|
||||||
|
}
|
||||||
|
/>
|
||||||
|
</Space>
|
||||||
),
|
),
|
||||||
}),
|
}),
|
||||||
]}
|
]}
|
||||||
|
|||||||
@ -1,9 +1,4 @@
|
|||||||
import {
|
import { MyButtons, MyColumns, MyProTableProps } from '@/common';
|
||||||
MyButtons,
|
|
||||||
MyColumns,
|
|
||||||
MyProTableProps,
|
|
||||||
useCurrentPermissions,
|
|
||||||
} from '@/common';
|
|
||||||
import { Apis } from '@/gen/Apis';
|
import { Apis } from '@/gen/Apis';
|
||||||
import { ProTable } from '@ant-design/pro-components';
|
import { ProTable } from '@ant-design/pro-components';
|
||||||
import { Space } from 'antd';
|
import { Space } from 'antd';
|
||||||
@ -11,33 +6,6 @@ import Create from './modals/Create';
|
|||||||
import Update from './modals/Update';
|
import Update from './modals/Update';
|
||||||
|
|
||||||
export default function Index({ title = '等级' }) {
|
export default function Index({ title = '等级' }) {
|
||||||
const getCurrentPermissions = useCurrentPermissions();
|
|
||||||
let toolBarRender = (action: any) => {
|
|
||||||
return getCurrentPermissions(
|
|
||||||
{
|
|
||||||
Create: <Create key="Create" reload={action?.reload} title={title} />,
|
|
||||||
},
|
|
||||||
'MyLevels',
|
|
||||||
);
|
|
||||||
};
|
|
||||||
let tableRender = (item: any, action: any) => {
|
|
||||||
return getCurrentPermissions(
|
|
||||||
{
|
|
||||||
update: <Update item={item} reload={action?.reload} title={title} />,
|
|
||||||
delete: (
|
|
||||||
<MyButtons.Delete
|
|
||||||
key="delete"
|
|
||||||
onConfirm={() =>
|
|
||||||
Apis.Emergency.EmergencyEventLevels.Delete({
|
|
||||||
id: item.id,
|
|
||||||
}).then(() => action?.reload())
|
|
||||||
}
|
|
||||||
/>
|
|
||||||
),
|
|
||||||
},
|
|
||||||
'MyLevels',
|
|
||||||
);
|
|
||||||
};
|
|
||||||
return (
|
return (
|
||||||
<ProTable
|
<ProTable
|
||||||
{...MyProTableProps.props}
|
{...MyProTableProps.props}
|
||||||
@ -49,7 +17,9 @@ export default function Index({ title = '等级' }) {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
headerTitle="突发事件等级"
|
headerTitle="突发事件等级"
|
||||||
toolBarRender={(action) => [toolBarRender(action)]}
|
toolBarRender={(action) => [
|
||||||
|
<Create key="Create" reload={action?.reload} title={title} />,
|
||||||
|
]}
|
||||||
columns={[
|
columns={[
|
||||||
MyColumns.ID({
|
MyColumns.ID({
|
||||||
search: false,
|
search: false,
|
||||||
@ -67,7 +37,17 @@ export default function Index({ title = '等级' }) {
|
|||||||
MyColumns.CreatedAt(),
|
MyColumns.CreatedAt(),
|
||||||
MyColumns.Option({
|
MyColumns.Option({
|
||||||
render: (_, item: any, index, action) => (
|
render: (_, item: any, index, action) => (
|
||||||
<Space key={index}>{tableRender(item, action)}</Space>
|
<Space key={index}>
|
||||||
|
<Update item={item} reload={action?.reload} title={title} />
|
||||||
|
<MyButtons.Delete
|
||||||
|
key="delete"
|
||||||
|
onConfirm={() =>
|
||||||
|
Apis.Emergency.EmergencyEventLevels.Delete({
|
||||||
|
id: item.id,
|
||||||
|
}).then(() => action?.reload())
|
||||||
|
}
|
||||||
|
/>
|
||||||
|
</Space>
|
||||||
),
|
),
|
||||||
}),
|
}),
|
||||||
]}
|
]}
|
||||||
|
|||||||
@ -6,16 +6,23 @@ import {
|
|||||||
} from '@/common';
|
} from '@/common';
|
||||||
import { Apis } from '@/gen/Apis';
|
import { Apis } from '@/gen/Apis';
|
||||||
import { BetaSchemaForm } from '@ant-design/pro-components';
|
import { BetaSchemaForm } from '@ant-design/pro-components';
|
||||||
import { message } from 'antd';
|
import { Form, message } from 'antd';
|
||||||
|
|
||||||
export default function Create(props: MyBetaModalFormProps) {
|
export default function Create(props: MyBetaModalFormProps) {
|
||||||
|
const [form] = Form.useForm();
|
||||||
return (
|
return (
|
||||||
<BetaSchemaForm<ApiTypes.Emergency.EmergencyEventLevels.Store>
|
<BetaSchemaForm<ApiTypes.Emergency.EmergencyEventLevels.Store>
|
||||||
{...MyModalFormProps.props}
|
{...MyModalFormProps.props}
|
||||||
title={`添加${props.title}`}
|
title={`添加${props.title}`}
|
||||||
wrapperCol={{ span: 24 }}
|
wrapperCol={{ span: 24 }}
|
||||||
width="500px"
|
width="500px"
|
||||||
|
form={form}
|
||||||
key={new Date().getTime()}
|
key={new Date().getTime()}
|
||||||
|
onOpenChange={(open: any) => {
|
||||||
|
if (open) {
|
||||||
|
form.resetFields(); // 清空表单数据
|
||||||
|
}
|
||||||
|
}}
|
||||||
trigger={<MyButtons.Create title={`添加${props.title}`} />}
|
trigger={<MyButtons.Create title={`添加${props.title}`} />}
|
||||||
onFinish={async (values) =>
|
onFinish={async (values) =>
|
||||||
Apis.Emergency.EmergencyEventLevels.Store(values)
|
Apis.Emergency.EmergencyEventLevels.Store(values)
|
||||||
|
|||||||
@ -1,9 +1,4 @@
|
|||||||
import {
|
import { MyButtons, MyColumns, MyProTableProps } from '@/common';
|
||||||
MyButtons,
|
|
||||||
MyColumns,
|
|
||||||
MyProTableProps,
|
|
||||||
useCurrentPermissions,
|
|
||||||
} from '@/common';
|
|
||||||
import { Apis } from '@/gen/Apis';
|
import { Apis } from '@/gen/Apis';
|
||||||
import { ProTable } from '@ant-design/pro-components';
|
import { ProTable } from '@ant-design/pro-components';
|
||||||
import { Space } from 'antd';
|
import { Space } from 'antd';
|
||||||
@ -11,35 +6,6 @@ import Create from './modals/Create';
|
|||||||
import Update from './modals/Update';
|
import Update from './modals/Update';
|
||||||
|
|
||||||
export default function Index({ title = '应急小组' }) {
|
export default function Index({ title = '应急小组' }) {
|
||||||
const getCurrentPermissions = useCurrentPermissions();
|
|
||||||
|
|
||||||
let toolBarRender = (action: any) => {
|
|
||||||
return getCurrentPermissions(
|
|
||||||
{
|
|
||||||
Create: (
|
|
||||||
<Create key="Create" reload={action?.reload} title="应急小组" />
|
|
||||||
),
|
|
||||||
},
|
|
||||||
'MyLevels',
|
|
||||||
);
|
|
||||||
};
|
|
||||||
let tableRender = (item: any, action: any) => {
|
|
||||||
return getCurrentPermissions(
|
|
||||||
{
|
|
||||||
update: <Update item={item} reload={action?.reload} title={title} />,
|
|
||||||
delete: (
|
|
||||||
<MyButtons.Delete
|
|
||||||
onConfirm={() =>
|
|
||||||
Apis.Emergency.EmergencyEventCategories.Delete({
|
|
||||||
id: item.id,
|
|
||||||
}).then(() => action?.reload())
|
|
||||||
}
|
|
||||||
/>
|
|
||||||
),
|
|
||||||
},
|
|
||||||
'MyLevels',
|
|
||||||
);
|
|
||||||
};
|
|
||||||
return (
|
return (
|
||||||
<ProTable
|
<ProTable
|
||||||
{...MyProTableProps.props}
|
{...MyProTableProps.props}
|
||||||
@ -51,7 +17,9 @@ export default function Index({ title = '应急小组' }) {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
headerTitle="应急小组"
|
headerTitle="应急小组"
|
||||||
toolBarRender={(action) => [toolBarRender(action)]}
|
toolBarRender={(action) => [
|
||||||
|
<Create key="Create" reload={action?.reload} title="应急小组" />,
|
||||||
|
]}
|
||||||
columns={[
|
columns={[
|
||||||
MyColumns.ID({
|
MyColumns.ID({
|
||||||
search: false,
|
search: false,
|
||||||
@ -96,7 +64,16 @@ export default function Index({ title = '应急小组' }) {
|
|||||||
MyColumns.CreatedAt(),
|
MyColumns.CreatedAt(),
|
||||||
MyColumns.Option({
|
MyColumns.Option({
|
||||||
render: (_, item: any, index, action) => (
|
render: (_, item: any, index, action) => (
|
||||||
<Space key={index}>{tableRender(item, action)}</Space>
|
<Space key={index}>
|
||||||
|
<Update item={item} reload={action?.reload} title={title} />
|
||||||
|
<MyButtons.Delete
|
||||||
|
onConfirm={() =>
|
||||||
|
Apis.Emergency.EmergencyEventCategories.Delete({
|
||||||
|
id: item.id,
|
||||||
|
}).then(() => action?.reload())
|
||||||
|
}
|
||||||
|
/>
|
||||||
|
</Space>
|
||||||
),
|
),
|
||||||
}),
|
}),
|
||||||
]}
|
]}
|
||||||
|
|||||||
@ -1,9 +1,4 @@
|
|||||||
import {
|
import { MyButtons, MyColumns, MyProTableProps } from '@/common';
|
||||||
MyButtons,
|
|
||||||
MyColumns,
|
|
||||||
MyProTableProps,
|
|
||||||
useCurrentPermissions,
|
|
||||||
} from '@/common';
|
|
||||||
import { Apis } from '@/gen/Apis';
|
import { Apis } from '@/gen/Apis';
|
||||||
import { ProTable } from '@ant-design/pro-components';
|
import { ProTable } from '@ant-design/pro-components';
|
||||||
import { Space } from 'antd';
|
import { Space } from 'antd';
|
||||||
@ -11,33 +6,6 @@ import Create from '../modals/QuestionCategoriesCreate';
|
|||||||
import Update from '../modals/QuestionCategoriesUpdate';
|
import Update from '../modals/QuestionCategoriesUpdate';
|
||||||
|
|
||||||
export default function QuestionCategoriesList({ title = '题目分类' }) {
|
export default function QuestionCategoriesList({ title = '题目分类' }) {
|
||||||
const getCurrentPermissions = useCurrentPermissions();
|
|
||||||
let toolBarRender = (action: any) => {
|
|
||||||
return getCurrentPermissions(
|
|
||||||
{
|
|
||||||
add: <Create key="Create" reload={action?.reload} title={title} />,
|
|
||||||
},
|
|
||||||
'MyQuestionCategoriesList',
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
let tableRender = (item: any, action: any) => {
|
|
||||||
return getCurrentPermissions(
|
|
||||||
{
|
|
||||||
update: <Update item={item} reload={action?.reload} title={title} />,
|
|
||||||
delete: (
|
|
||||||
<MyButtons.Delete
|
|
||||||
onConfirm={() =>
|
|
||||||
Apis.Survey.QuestionCategories.Delete({ id: item.id }).then(() =>
|
|
||||||
action?.reload(),
|
|
||||||
)
|
|
||||||
}
|
|
||||||
/>
|
|
||||||
),
|
|
||||||
},
|
|
||||||
'MyQuestionCategoriesList',
|
|
||||||
);
|
|
||||||
};
|
|
||||||
return (
|
return (
|
||||||
<ProTable
|
<ProTable
|
||||||
{...MyProTableProps.props}
|
{...MyProTableProps.props}
|
||||||
@ -50,7 +18,9 @@ export default function QuestionCategoriesList({ title = '题目分类' }) {
|
|||||||
Apis.Survey.QuestionCategories.List,
|
Apis.Survey.QuestionCategories.List,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
toolBarRender={(action) => [toolBarRender(action)]}
|
toolBarRender={(action) => [
|
||||||
|
<Create key="Create" reload={action?.reload} title={title} />,
|
||||||
|
]}
|
||||||
columns={[
|
columns={[
|
||||||
MyColumns.ID({
|
MyColumns.ID({
|
||||||
search: false,
|
search: false,
|
||||||
@ -63,7 +33,14 @@ export default function QuestionCategoriesList({ title = '题目分类' }) {
|
|||||||
|
|
||||||
render: (_, item: any, index, action) => (
|
render: (_, item: any, index, action) => (
|
||||||
<Space key={`item_${index}`}>
|
<Space key={`item_${index}`}>
|
||||||
<>{tableRender(item, action)}</>
|
<Update item={item} reload={action?.reload} title={title} />
|
||||||
|
<MyButtons.Delete
|
||||||
|
onConfirm={() =>
|
||||||
|
Apis.Survey.QuestionCategories.Delete({ id: item.id }).then(
|
||||||
|
() => action?.reload(),
|
||||||
|
)
|
||||||
|
}
|
||||||
|
/>
|
||||||
</Space>
|
</Space>
|
||||||
),
|
),
|
||||||
}),
|
}),
|
||||||
|
|||||||
@ -1,9 +1,4 @@
|
|||||||
import {
|
import { MyButtons, MyColumns, MyProTableProps } from '@/common';
|
||||||
MyButtons,
|
|
||||||
MyColumns,
|
|
||||||
MyProTableProps,
|
|
||||||
useCurrentPermissions,
|
|
||||||
} from '@/common';
|
|
||||||
import { Apis } from '@/gen/Apis';
|
import { Apis } from '@/gen/Apis';
|
||||||
import { QuestionsTypeEnum } from '@/gen/Enums';
|
import { QuestionsTypeEnum } from '@/gen/Enums';
|
||||||
import { ProTable } from '@ant-design/pro-components';
|
import { ProTable } from '@ant-design/pro-components';
|
||||||
@ -12,33 +7,6 @@ import Create from '../modals/QuestionsCreate';
|
|||||||
import Update from '../modals/QuestionsUpdate';
|
import Update from '../modals/QuestionsUpdate';
|
||||||
|
|
||||||
export default function QuestionsList({ title = '题目' }) {
|
export default function QuestionsList({ title = '题目' }) {
|
||||||
const getCurrentPermissions = useCurrentPermissions();
|
|
||||||
let toolBarRender = (action: any) => {
|
|
||||||
return getCurrentPermissions(
|
|
||||||
{
|
|
||||||
add: <Create key="Create" reload={action?.reload} title={title} />,
|
|
||||||
},
|
|
||||||
'MyQuestionsList',
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
let tableRender = (item: any, action: any) => {
|
|
||||||
return getCurrentPermissions(
|
|
||||||
{
|
|
||||||
update: <Update item={item} reload={action?.reload} title={title} />,
|
|
||||||
delete: (
|
|
||||||
<MyButtons.Delete
|
|
||||||
onConfirm={() =>
|
|
||||||
Apis.Survey.Questions.Delete({ id: item.id }).then(() =>
|
|
||||||
action?.reload(),
|
|
||||||
)
|
|
||||||
}
|
|
||||||
/>
|
|
||||||
),
|
|
||||||
},
|
|
||||||
'MyQuestionsList',
|
|
||||||
);
|
|
||||||
};
|
|
||||||
return (
|
return (
|
||||||
<ProTable
|
<ProTable
|
||||||
{...MyProTableProps.props}
|
{...MyProTableProps.props}
|
||||||
@ -46,7 +14,9 @@ export default function QuestionsList({ title = '题目' }) {
|
|||||||
request={async (params, sort) =>
|
request={async (params, sort) =>
|
||||||
MyProTableProps.request(params, sort, Apis.Survey.Questions.List)
|
MyProTableProps.request(params, sort, Apis.Survey.Questions.List)
|
||||||
}
|
}
|
||||||
toolBarRender={(action) => [toolBarRender(action)]}
|
toolBarRender={(action) => [
|
||||||
|
<Create key="Create" reload={action?.reload} title={title} />,
|
||||||
|
]}
|
||||||
columns={[
|
columns={[
|
||||||
MyColumns.ID({
|
MyColumns.ID({
|
||||||
search: false,
|
search: false,
|
||||||
@ -71,7 +41,16 @@ export default function QuestionsList({ title = '题目' }) {
|
|||||||
MyColumns.Option({
|
MyColumns.Option({
|
||||||
width: 120,
|
width: 120,
|
||||||
render: (_, item: any, index, action) => (
|
render: (_, item: any, index, action) => (
|
||||||
<Space key={`item_${index}`}>{tableRender(item, action)}</Space>
|
<Space key={`item_${index}`}>
|
||||||
|
<Update item={item} reload={action?.reload} title={title} />
|
||||||
|
<MyButtons.Delete
|
||||||
|
onConfirm={() =>
|
||||||
|
Apis.Survey.Questions.Delete({ id: item.id }).then(() =>
|
||||||
|
action?.reload(),
|
||||||
|
)
|
||||||
|
}
|
||||||
|
/>
|
||||||
|
</Space>
|
||||||
),
|
),
|
||||||
}),
|
}),
|
||||||
]}
|
]}
|
||||||
|
|||||||
@ -1,10 +1,4 @@
|
|||||||
import {
|
import { MyButtons, MyColumns, MyProTableProps } from '@/common';
|
||||||
MyButtons,
|
|
||||||
MyColumns,
|
|
||||||
MyProTableProps,
|
|
||||||
useCurrentPermissions,
|
|
||||||
} from '@/common';
|
|
||||||
import { isInTimeRange } from '@/common/utils/day';
|
|
||||||
import { Apis } from '@/gen/Apis';
|
import { Apis } from '@/gen/Apis';
|
||||||
import { SurveyReleasesTypeEnum } from '@/gen/Enums';
|
import { SurveyReleasesTypeEnum } from '@/gen/Enums';
|
||||||
import { ProTable } from '@ant-design/pro-components';
|
import { ProTable } from '@ant-design/pro-components';
|
||||||
@ -13,60 +7,6 @@ import Create from '../modals/SurveyReleasesCreate';
|
|||||||
import Update from '../modals/SurveyReleasesUpdate';
|
import Update from '../modals/SurveyReleasesUpdate';
|
||||||
|
|
||||||
export default function SurveyReleasesList({ title = '问卷发布列表' }) {
|
export default function SurveyReleasesList({ title = '问卷发布列表' }) {
|
||||||
const getCurrentPermissions = useCurrentPermissions();
|
|
||||||
let toolBarRender = (action: any) => {
|
|
||||||
return getCurrentPermissions(
|
|
||||||
{
|
|
||||||
add: <Create key="Create" reload={action?.reload} title="发布" />,
|
|
||||||
},
|
|
||||||
'MySurveyReleasesList',
|
|
||||||
);
|
|
||||||
};
|
|
||||||
let tableRender = (item: any, action: any) => {
|
|
||||||
return getCurrentPermissions(
|
|
||||||
{
|
|
||||||
publish: (
|
|
||||||
<MyButtons.Default
|
|
||||||
isConfirm
|
|
||||||
title="立即发布"
|
|
||||||
description="确定要发布?"
|
|
||||||
disabled={item?.release_type !== 'Manual' || item.status}
|
|
||||||
onConfirm={() =>
|
|
||||||
Apis.Survey.SurveyReleases.Publish({ id: item.id }).then(() =>
|
|
||||||
action?.reload(),
|
|
||||||
)
|
|
||||||
}
|
|
||||||
/>
|
|
||||||
),
|
|
||||||
cancel: (
|
|
||||||
<MyButtons.Default
|
|
||||||
isConfirm
|
|
||||||
title="下架"
|
|
||||||
description="确定要下架问卷?"
|
|
||||||
disabled={
|
|
||||||
!item.status && !isInTimeRange(item?.start_date, item?.end_date)
|
|
||||||
}
|
|
||||||
onConfirm={() =>
|
|
||||||
Apis.Survey.SurveyReleases.Cancel({ id: item.id }).then(() =>
|
|
||||||
action?.reload(),
|
|
||||||
)
|
|
||||||
}
|
|
||||||
/>
|
|
||||||
),
|
|
||||||
update: <Update item={item} reload={action?.reload} title={title} />,
|
|
||||||
delete: (
|
|
||||||
<MyButtons.Delete
|
|
||||||
onConfirm={() =>
|
|
||||||
Apis.Survey.SurveyReleases.Delete({ id: item.id }).then(() =>
|
|
||||||
action?.reload(),
|
|
||||||
)
|
|
||||||
}
|
|
||||||
/>
|
|
||||||
),
|
|
||||||
},
|
|
||||||
'MySurveyReleasesList',
|
|
||||||
);
|
|
||||||
};
|
|
||||||
return (
|
return (
|
||||||
<ProTable
|
<ProTable
|
||||||
{...MyProTableProps.props}
|
{...MyProTableProps.props}
|
||||||
@ -74,7 +14,9 @@ export default function SurveyReleasesList({ title = '问卷发布列表' }) {
|
|||||||
request={async (params, sort) =>
|
request={async (params, sort) =>
|
||||||
MyProTableProps.request(params, sort, Apis.Survey.SurveyReleases.List)
|
MyProTableProps.request(params, sort, Apis.Survey.SurveyReleases.List)
|
||||||
}
|
}
|
||||||
toolBarRender={(action) => [toolBarRender(action)]}
|
toolBarRender={(action) => [
|
||||||
|
<Create key="Create" reload={action?.reload} title="发布" />,
|
||||||
|
]}
|
||||||
columns={[
|
columns={[
|
||||||
MyColumns.ID({
|
MyColumns.ID({
|
||||||
search: false,
|
search: false,
|
||||||
@ -104,7 +46,27 @@ export default function SurveyReleasesList({ title = '问卷发布列表' }) {
|
|||||||
MyColumns.CreatedAt(),
|
MyColumns.CreatedAt(),
|
||||||
MyColumns.Option({
|
MyColumns.Option({
|
||||||
render: (_, item: any, index, action) => (
|
render: (_, item: any, index, action) => (
|
||||||
<Space key={`item_${index}`}>{tableRender(item, action)}</Space>
|
<Space key={`item_${index}`}>
|
||||||
|
<MyButtons.Default
|
||||||
|
isConfirm
|
||||||
|
title="立即发布"
|
||||||
|
description="确定要发布?"
|
||||||
|
disabled={item?.release_type !== 'Manual' || item.status}
|
||||||
|
onConfirm={() =>
|
||||||
|
Apis.Survey.SurveyReleases.Publish({ id: item.id }).then(() =>
|
||||||
|
action?.reload(),
|
||||||
|
)
|
||||||
|
}
|
||||||
|
/>
|
||||||
|
<Update item={item} reload={action?.reload} title={title} />
|
||||||
|
<MyButtons.Delete
|
||||||
|
onConfirm={() =>
|
||||||
|
Apis.Survey.SurveyReleases.Delete({ id: item.id }).then(() =>
|
||||||
|
action?.reload(),
|
||||||
|
)
|
||||||
|
}
|
||||||
|
/>
|
||||||
|
</Space>
|
||||||
),
|
),
|
||||||
}),
|
}),
|
||||||
]}
|
]}
|
||||||
|
|||||||
@ -2,11 +2,11 @@ import { MyColumns, MyProTableProps } from '@/common';
|
|||||||
import { Apis } from '@/gen/Apis';
|
import { Apis } from '@/gen/Apis';
|
||||||
import { ProTable } from '@ant-design/pro-components';
|
import { ProTable } from '@ant-design/pro-components';
|
||||||
import MyShow from '../modals/SurveyResponsesShow';
|
import MyShow from '../modals/SurveyResponsesShow';
|
||||||
export default function SurveyResponsesList({ title = '问卷回收' }) {
|
export default function SurveyResponsesList({ title = '客户提交问卷' }) {
|
||||||
return (
|
return (
|
||||||
<ProTable
|
<ProTable
|
||||||
{...MyProTableProps.props}
|
{...MyProTableProps.props}
|
||||||
headerTitle={`${title}`}
|
headerTitle={`${title}列表`}
|
||||||
request={async (params, sort) =>
|
request={async (params, sort) =>
|
||||||
MyProTableProps.request(params, sort, Apis.Survey.SurveyResponses.List)
|
MyProTableProps.request(params, sort, Apis.Survey.SurveyResponses.List)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,9 +1,4 @@
|
|||||||
import {
|
import { MyButtons, MyColumns, MyProTableProps } from '@/common';
|
||||||
MyButtons,
|
|
||||||
MyColumns,
|
|
||||||
MyProTableProps,
|
|
||||||
useCurrentPermissions,
|
|
||||||
} from '@/common';
|
|
||||||
import { Apis } from '@/gen/Apis';
|
import { Apis } from '@/gen/Apis';
|
||||||
import { PlusOutlined } from '@ant-design/icons';
|
import { PlusOutlined } from '@ant-design/icons';
|
||||||
import { ProTable } from '@ant-design/pro-components';
|
import { ProTable } from '@ant-design/pro-components';
|
||||||
@ -13,61 +8,6 @@ import SurveysListShow from '../modals/SurveysListShow';
|
|||||||
|
|
||||||
export default function SurveysList({ title = '问卷设置' }) {
|
export default function SurveysList({ title = '问卷设置' }) {
|
||||||
const navigate = useNavigate();
|
const navigate = useNavigate();
|
||||||
const getCurrentPermissions = useCurrentPermissions();
|
|
||||||
let toolBarRender = () => {
|
|
||||||
return getCurrentPermissions(
|
|
||||||
{
|
|
||||||
add: (
|
|
||||||
<MyButtons.Default
|
|
||||||
key="Create"
|
|
||||||
size="middle"
|
|
||||||
type="primary"
|
|
||||||
icon={<PlusOutlined />}
|
|
||||||
onClick={() => {
|
|
||||||
navigate('/marketing/survey/pages/create_surveys');
|
|
||||||
}}
|
|
||||||
title="新增问卷"
|
|
||||||
/>
|
|
||||||
),
|
|
||||||
},
|
|
||||||
'MySurveysList',
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
let tableRender = (item: any, action: any) => {
|
|
||||||
return getCurrentPermissions(
|
|
||||||
{
|
|
||||||
show: (
|
|
||||||
<SurveysListShow
|
|
||||||
key="queryInfo"
|
|
||||||
item={item}
|
|
||||||
title="查看"
|
|
||||||
reload={action?.reload}
|
|
||||||
/>
|
|
||||||
),
|
|
||||||
update: (
|
|
||||||
<MyButtons.Default
|
|
||||||
key="update"
|
|
||||||
type="primary"
|
|
||||||
onClick={() => {
|
|
||||||
navigate(`/marketing/survey/pages/update_surveys?id=${item.id}`);
|
|
||||||
}}
|
|
||||||
title="编辑"
|
|
||||||
/>
|
|
||||||
),
|
|
||||||
delete: (
|
|
||||||
<MyButtons.Delete
|
|
||||||
onConfirm={() =>
|
|
||||||
Apis.Survey.Surveys.Delete({ id: item.id }).then(() =>
|
|
||||||
action?.reload(),
|
|
||||||
)
|
|
||||||
}
|
|
||||||
/>
|
|
||||||
),
|
|
||||||
},
|
|
||||||
'MySurveysList',
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<ProTable
|
<ProTable
|
||||||
@ -76,7 +16,18 @@ export default function SurveysList({ title = '问卷设置' }) {
|
|||||||
request={async (params, sort) =>
|
request={async (params, sort) =>
|
||||||
MyProTableProps.request(params, sort, Apis.Survey.Surveys.List)
|
MyProTableProps.request(params, sort, Apis.Survey.Surveys.List)
|
||||||
}
|
}
|
||||||
toolBarRender={() => [toolBarRender()]}
|
toolBarRender={() => [
|
||||||
|
<MyButtons.Default
|
||||||
|
key="Create"
|
||||||
|
size="middle"
|
||||||
|
type="primary"
|
||||||
|
icon={<PlusOutlined />}
|
||||||
|
onClick={() => {
|
||||||
|
navigate('/quality/marketing/survey/pages/create_surveys');
|
||||||
|
}}
|
||||||
|
title="新增问卷"
|
||||||
|
/>,
|
||||||
|
]}
|
||||||
columns={[
|
columns={[
|
||||||
MyColumns.ID({
|
MyColumns.ID({
|
||||||
search: false,
|
search: false,
|
||||||
@ -100,7 +51,31 @@ export default function SurveysList({ title = '问卷设置' }) {
|
|||||||
MyColumns.Option({
|
MyColumns.Option({
|
||||||
width: 120,
|
width: 120,
|
||||||
render: (_, item: any, index, action) => (
|
render: (_, item: any, index, action) => (
|
||||||
<Space key={`item_${index}`}>{tableRender(item, action)}</Space>
|
<Space key={`item_${index}`}>
|
||||||
|
<SurveysListShow
|
||||||
|
key="queryInfo"
|
||||||
|
item={item}
|
||||||
|
title="查看"
|
||||||
|
reload={action?.reload}
|
||||||
|
/>
|
||||||
|
<MyButtons.Default
|
||||||
|
key="update"
|
||||||
|
type="primary"
|
||||||
|
onClick={() => {
|
||||||
|
navigate(
|
||||||
|
`/quality/marketing/survey/pages/update_surveys?id=${item.id}`,
|
||||||
|
);
|
||||||
|
}}
|
||||||
|
title="编辑"
|
||||||
|
/>
|
||||||
|
<MyButtons.Delete
|
||||||
|
onConfirm={() =>
|
||||||
|
Apis.Survey.Surveys.Delete({ id: item.id }).then(() =>
|
||||||
|
action?.reload(),
|
||||||
|
)
|
||||||
|
}
|
||||||
|
/>
|
||||||
|
</Space>
|
||||||
),
|
),
|
||||||
}),
|
}),
|
||||||
]}
|
]}
|
||||||
|
|||||||
@ -67,6 +67,7 @@ export default function SurveyReleasesCreate(props: MyBetaModalFormProps) {
|
|||||||
},
|
},
|
||||||
MyFormItems.UploadImages({
|
MyFormItems.UploadImages({
|
||||||
key: 'cover_image',
|
key: 'cover_image',
|
||||||
|
tooltip: '建议(尺寸:高度161px,宽度100%)',
|
||||||
title: '封面图',
|
title: '封面图',
|
||||||
colProps: { span: 24 },
|
colProps: { span: 24 },
|
||||||
max: 1,
|
max: 1,
|
||||||
|
|||||||
@ -69,6 +69,7 @@ export default function SurveyReleasesCreate(props: MyBetaModalFormProps) {
|
|||||||
MyFormItems.UploadImages({
|
MyFormItems.UploadImages({
|
||||||
key: 'cover_image',
|
key: 'cover_image',
|
||||||
title: '封面图',
|
title: '封面图',
|
||||||
|
tooltip: '建议(尺寸:高度161px,宽度100%)',
|
||||||
colProps: { span: 24 },
|
colProps: { span: 24 },
|
||||||
max: 1,
|
max: 1,
|
||||||
}),
|
}),
|
||||||
|
|||||||
@ -3,7 +3,6 @@ import {
|
|||||||
MyColumns,
|
MyColumns,
|
||||||
MyPageContainer,
|
MyPageContainer,
|
||||||
MyProTableProps,
|
MyProTableProps,
|
||||||
useCurrentPermissions,
|
|
||||||
} from '@/common';
|
} from '@/common';
|
||||||
import { Apis } from '@/gen/Apis';
|
import { Apis } from '@/gen/Apis';
|
||||||
import {
|
import {
|
||||||
@ -32,47 +31,6 @@ export const ComplaintOrdersStatusEnum = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
export default function Index({ title = '客户投诉' }) {
|
export default function Index({ title = '客户投诉' }) {
|
||||||
const getCurrentPermissions = useCurrentPermissions();
|
|
||||||
let toolBarRender = (action: any) => {
|
|
||||||
return getCurrentPermissions({
|
|
||||||
create: <Create key="Create" reload={action?.reload} title={title} />,
|
|
||||||
});
|
|
||||||
};
|
|
||||||
let tableRender = (item: any, action: any) => {
|
|
||||||
return getCurrentPermissions({
|
|
||||||
show: <ComplaintShow item={item} title="详情" reload={action?.reload} />,
|
|
||||||
update: (
|
|
||||||
<>
|
|
||||||
{item.status === 'Pending' && (
|
|
||||||
<Update item={item} reload={action?.reload} title={title} />
|
|
||||||
)}
|
|
||||||
</>
|
|
||||||
),
|
|
||||||
assign: (
|
|
||||||
<>
|
|
||||||
{item.assign_status === 'Unassigned' && (
|
|
||||||
<Assign item={item} reload={action?.reload} title="指派" />
|
|
||||||
)}
|
|
||||||
</>
|
|
||||||
),
|
|
||||||
completed: (
|
|
||||||
<>
|
|
||||||
{item.status === 'Completed' && item.is_visited === 0 && (
|
|
||||||
<ComplaintShow item={item} title="回访" reload={action?.reload} />
|
|
||||||
)}
|
|
||||||
</>
|
|
||||||
),
|
|
||||||
delete: (
|
|
||||||
<MyButtons.Delete
|
|
||||||
onConfirm={() =>
|
|
||||||
Apis.WorkOrder.HouseWorkOrders.SoftDelete({
|
|
||||||
id: item.id,
|
|
||||||
}).then(() => action?.reload())
|
|
||||||
}
|
|
||||||
/>
|
|
||||||
),
|
|
||||||
});
|
|
||||||
};
|
|
||||||
return (
|
return (
|
||||||
<MyPageContainer
|
<MyPageContainer
|
||||||
title={title}
|
title={title}
|
||||||
@ -80,9 +38,9 @@ export default function Index({ title = '客户投诉' }) {
|
|||||||
tabKey="complaint"
|
tabKey="complaint"
|
||||||
tabLabel={title}
|
tabLabel={title}
|
||||||
>
|
>
|
||||||
<ProTable
|
<ProTable<Record<any, any>>
|
||||||
{...MyProTableProps.props}
|
{...MyProTableProps.props}
|
||||||
headerTitle="客户投诉"
|
headerTitle="工单列表"
|
||||||
request={async (params, sort) =>
|
request={async (params, sort) =>
|
||||||
MyProTableProps.request(
|
MyProTableProps.request(
|
||||||
{
|
{
|
||||||
@ -93,7 +51,9 @@ export default function Index({ title = '客户投诉' }) {
|
|||||||
Apis.WorkOrder.HouseWorkOrders.List,
|
Apis.WorkOrder.HouseWorkOrders.List,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
toolBarRender={(action) => [toolBarRender(action)]}
|
toolBarRender={(action) => [
|
||||||
|
<Create key="Create" reload={action?.reload} title={title} />,
|
||||||
|
]}
|
||||||
columns={[
|
columns={[
|
||||||
MyColumns.ID({ search: false }),
|
MyColumns.ID({ search: false }),
|
||||||
MyColumns.EnumTag({
|
MyColumns.EnumTag({
|
||||||
@ -157,7 +117,31 @@ export default function Index({ title = '客户投诉' }) {
|
|||||||
MyColumns.Option({
|
MyColumns.Option({
|
||||||
render: (_, item: any, index, action) => (
|
render: (_, item: any, index, action) => (
|
||||||
<Space key={index}>
|
<Space key={index}>
|
||||||
<>{tableRender(item, action)}</>
|
<ComplaintShow
|
||||||
|
item={item}
|
||||||
|
title="详情"
|
||||||
|
reload={action?.reload}
|
||||||
|
/>
|
||||||
|
{item.status === 'Pending' && (
|
||||||
|
<Update item={item} reload={action?.reload} title={title} />
|
||||||
|
)}
|
||||||
|
{item.assign_status === 'Unassigned' && (
|
||||||
|
<Assign item={item} reload={action?.reload} title="指派" />
|
||||||
|
)}
|
||||||
|
{item.status === 'Completed' && item.is_visited === 0 && (
|
||||||
|
<ComplaintShow
|
||||||
|
item={item}
|
||||||
|
title="回访"
|
||||||
|
reload={action?.reload}
|
||||||
|
/>
|
||||||
|
)}
|
||||||
|
<MyButtons.Delete
|
||||||
|
onConfirm={() =>
|
||||||
|
Apis.WorkOrder.HouseWorkOrders.SoftDelete({
|
||||||
|
id: item.id,
|
||||||
|
}).then(() => action?.reload())
|
||||||
|
}
|
||||||
|
/>
|
||||||
</Space>
|
</Space>
|
||||||
),
|
),
|
||||||
}),
|
}),
|
||||||
|
|||||||
@ -20,11 +20,11 @@ export default function WorkOrderCreate(props: MyBetaModalFormProps) {
|
|||||||
<BetaSchemaForm<ApiTypes.WorkOrder.HouseWorkOrders.Store>
|
<BetaSchemaForm<ApiTypes.WorkOrder.HouseWorkOrders.Store>
|
||||||
{...MyModalFormProps.props}
|
{...MyModalFormProps.props}
|
||||||
title={`创建工单`}
|
title={`创建工单`}
|
||||||
wrapperCol={{ span: 19 }}
|
labelCol={{ span: 4 }}
|
||||||
|
wrapperCol={{ span: 20 }}
|
||||||
width="600px"
|
width="600px"
|
||||||
layout="horizontal"
|
layout="horizontal"
|
||||||
labelCol={{ span: 5 }}
|
trigger={<MyButtons.Create title="投诉" />}
|
||||||
trigger={<MyButtons.Create title={`投诉`} />}
|
|
||||||
onOpenChange={(open: any) => {
|
onOpenChange={(open: any) => {
|
||||||
if (open) {
|
if (open) {
|
||||||
form.resetFields(); // 清空表单数据
|
form.resetFields(); // 清空表单数据
|
||||||
@ -45,23 +45,6 @@ export default function WorkOrderCreate(props: MyBetaModalFormProps) {
|
|||||||
.catch(() => false)
|
.catch(() => false)
|
||||||
}
|
}
|
||||||
columns={[
|
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({
|
MyFormItems.EnumRadio({
|
||||||
key: 'complaint_type',
|
key: 'complaint_type',
|
||||||
title: '投诉类型',
|
title: '投诉类型',
|
||||||
|
|||||||
@ -50,6 +50,14 @@ export default function WorkOrderCreate(props: MyBetaModalFormProps) {
|
|||||||
valueEnum: () => {
|
valueEnum: () => {
|
||||||
let obj: any = JSON.parse(JSON.stringify(HouseWorkOrdersTypeEnum));
|
let obj: any = JSON.parse(JSON.stringify(HouseWorkOrdersTypeEnum));
|
||||||
delete obj.Complaint;
|
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;
|
return obj;
|
||||||
},
|
},
|
||||||
required: true,
|
required: true,
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user