import { request } from "@/common";

export const Apis = {
  Archive: {
    HouseOccupants: {
      List(data: ApiTypes.Archive.HouseOccupants.List): Promise<MyResponseType> {
        return request('employee/archive/house_occupants/list', { data });
      },
      GetCustomerHouse(data: ApiTypes.Archive.HouseOccupants.GetCustomerHouse): Promise<MyResponseType> {
        return request('employee/archive/house_occupants/get_customer_house', { data });
      },
      GetHouseOccupants(data?: ApiTypes.Archive.HouseOccupants.GetHouseOccupants): Promise<MyResponseType> {
        return request('employee/archive/house_occupants/get_house_occupants', { data });
      },
      Show(data: ApiTypes.Archive.HouseOccupants.Show): Promise<MyResponseType> {
        return request('employee/archive/house_occupants/show', { data });
      },
      GetHouseOccupantsByPhone(data: ApiTypes.Archive.HouseOccupants.GetHouseOccupantsByPhone): Promise<MyResponseType> {
        return request('employee/archive/house_occupants/get_house_occupants_by_phone', { data });
      },
      ChangeContact(data: ApiTypes.Archive.HouseOccupants.ChangeContact): Promise<MyResponseType> {
        return request('employee/archive/house_occupants/change_contact', { data });
      },
    },
    HouseRegisters: {
      Store(data: ApiTypes.Archive.HouseRegisters.Store): Promise<MyResponseType> {
        return request('employee/archive/house_registers/store', { data });
      },
      RegisterHouse(data: ApiTypes.Archive.HouseRegisters.RegisterHouse): Promise<MyResponseType> {
        return request('employee/archive/house_registers/register_house', { data });
      },
      Unbind(data: ApiTypes.Archive.HouseRegisters.Unbind): Promise<MyResponseType> {
        return request('employee/archive/house_registers/unbind', { data });
      },
      RemoveOwner(data: ApiTypes.Archive.HouseRegisters.RemoveOwner): Promise<MyResponseType> {
        return request('employee/archive/house_registers/remove_owner', { data });
      },
      ChangeOccupant(data: ApiTypes.Archive.HouseRegisters.ChangeOccupant): Promise<MyResponseType> {
        return request('employee/archive/house_registers/change_occupant', { data });
      },
    },
  },
  Asset: {
    AssetHouses: {
      SelectProject(data?: ApiTypes.Asset.AssetHouses.SelectProject): Promise<MyResponseType> {
        return request('employee/asset/asset_houses/select_project', { data });
      },
      SelectPermissionProject(data?: ApiTypes.Asset.AssetHouses.SelectPermissionProject): Promise<MyResponseType> {
        return request('employee/asset/asset_houses/select_permission_project', { data });
      },
      SelectBuilding(data: ApiTypes.Asset.AssetHouses.SelectBuilding): Promise<MyResponseType> {
        return request('employee/asset/asset_houses/select_building', { data });
      },
      SelectPermissionBuilding(data: ApiTypes.Asset.AssetHouses.SelectPermissionBuilding): Promise<MyResponseType> {
        return request('employee/asset/asset_houses/select_permission_building', { data });
      },
      SelectUnit(data: ApiTypes.Asset.AssetHouses.SelectUnit): Promise<MyResponseType> {
        return request('employee/asset/asset_houses/select_unit', { data });
      },
      SelectPermissionUnit(data: ApiTypes.Asset.AssetHouses.SelectPermissionUnit): Promise<MyResponseType> {
        return request('employee/asset/asset_houses/select_permission_unit', { data });
      },
      SelectHouse(data?: ApiTypes.Asset.AssetHouses.SelectHouse): Promise<MyResponseType> {
        return request('employee/asset/asset_houses/select_house', { data });
      },
      Show(data: ApiTypes.Asset.AssetHouses.Show): Promise<MyResponseType> {
        return request('employee/asset/asset_houses/show', { data });
      },
    },
    AssetProjectAdmins: {
      List(data?: ApiTypes.Asset.AssetProjectAdmins.List): Promise<MyResponseType> {
        return request('employee/asset/asset_project_admins/list', { data });
      },
      Show(data: ApiTypes.Asset.AssetProjectAdmins.Show): Promise<MyResponseType> {
        return request('employee/asset/asset_project_admins/show', { data });
      },
    },
  },
  Attendance: {
    AttendanceEmployeeTracks: {
      MyTracks(data?: ApiTypes.Attendance.AttendanceEmployeeTracks.MyTracks): Promise<MyResponseType> {
        return request('employee/attendance/attendance_employee_tracks/my_tracks', { data });
      },
      Track(data: ApiTypes.Attendance.AttendanceEmployeeTracks.Track): Promise<MyResponseType> {
        return request('employee/attendance/attendance_employee_tracks/track', { data });
      },
    },
    AttendanceRecords: {
      Checkin(data: ApiTypes.Attendance.AttendanceRecords.Checkin): Promise<MyResponseType> {
        return request('employee/attendance/attendance_records/checkin', { data });
      },
      Makeup(data: ApiTypes.Attendance.AttendanceRecords.Makeup): Promise<MyResponseType> {
        return request('employee/attendance/attendance_records/makeup', { data });
      },
      MyRecords(data: ApiTypes.Attendance.AttendanceRecords.MyRecords): Promise<MyResponseType> {
        return request('employee/attendance/attendance_records/my_records', { data });
      },
      RecordDetail(data: ApiTypes.Attendance.AttendanceRecords.RecordDetail): Promise<MyResponseType> {
        return request('employee/attendance/attendance_records/record_detail', { data });
      },
    },
    AttendanceSchedules: {
      MySchedules(data: ApiTypes.Attendance.AttendanceSchedules.MySchedules): Promise<MyResponseType> {
        return request('employee/attendance/attendance_schedules/my_schedules', { data });
      },
      GetAttendanceSchedules(): Promise<MyResponseType> {
        return request('employee/attendance/attendance_schedules/get_attendance_schedules', {});
      },
      GetAttendanceShiftPeriod(data: ApiTypes.Attendance.AttendanceSchedules.GetAttendanceShiftPeriod): Promise<MyResponseType> {
        return request('employee/attendance/attendance_schedules/get_attendance_shift_period', { data });
      },
      GetAttendanceConfig(): Promise<MyResponseType> {
        return request('employee/attendance/attendance_schedules/get_attendance_config', {});
      },
    },
  },
  Banner: {
    BannerSpaces: {
      List(data: ApiTypes.Banner.BannerSpaces.List): Promise<MyResponseType> {
        return request('employee/banner/banner_spaces/list', { data });
      },
    },
  },
  Bill: {
    HouseBills: {
      HouseList(data?: ApiTypes.Bill.HouseBills.HouseList): Promise<MyResponseType> {
        return request('employee/bill/house_bills/house_list', { data });
      },
      HouseArrearageAmount(data: ApiTypes.Bill.HouseBills.HouseArrearageAmount): Promise<MyResponseType> {
        return request('employee/bill/house_bills/house_arrearage_amount', { data });
      },
      List(data: ApiTypes.Bill.HouseBills.List): Promise<MyResponseType> {
        return request('employee/bill/house_bills/list', { data });
      },
      MonthBillDetail(data: ApiTypes.Bill.HouseBills.MonthBillDetail): Promise<MyResponseType> {
        return request('employee/bill/house_bills/month_bill_detail', { data });
      },
      BillQRCode(data: ApiTypes.Bill.HouseBills.BillQRCode): Promise<MyResponseType> {
        return request('employee/bill/house_bills/bill_q_r_code', { data });
      },
      GetOccupantArrearageHouses(data: ApiTypes.Bill.HouseBills.GetOccupantArrearageHouses): Promise<MyResponseType> {
        return request('employee/bill/house_bills/get_occupant_arrearage_houses', { data });
      },
      Show(data: ApiTypes.Bill.HouseBills.Show): Promise<MyResponseType> {
        return request('employee/bill/house_bills/show', { data });
      },
    },
  },
  Collection: {
    HouseCollectionRecords: {
      List(data: ApiTypes.Collection.HouseCollectionRecords.List): Promise<MyResponseType> {
        return request('employee/collection/house_collection_records/list', { data });
      },
      Store(data: ApiTypes.Collection.HouseCollectionRecords.Store): Promise<MyResponseType> {
        return request('employee/collection/house_collection_records/store', { data });
      },
      Update(data: ApiTypes.Collection.HouseCollectionRecords.Update): Promise<MyResponseType> {
        return request('employee/collection/house_collection_records/update', { data });
      },
      Show(data: ApiTypes.Collection.HouseCollectionRecords.Show): Promise<MyResponseType> {
        return request('employee/collection/house_collection_records/show', { data });
      },
      GetTaskRecords(data: ApiTypes.Collection.HouseCollectionRecords.GetTaskRecords): Promise<MyResponseType> {
        return request('employee/collection/house_collection_records/get_task_records', { data });
      },
    },
    HouseCollectionTasks: {
      List(data?: ApiTypes.Collection.HouseCollectionTasks.List): Promise<MyResponseType> {
        return request('employee/collection/house_collection_tasks/list', { data });
      },
      Store(data: ApiTypes.Collection.HouseCollectionTasks.Store): Promise<MyResponseType> {
        return request('employee/collection/house_collection_tasks/store', { data });
      },
      Show(data: ApiTypes.Collection.HouseCollectionTasks.Show): Promise<MyResponseType> {
        return request('employee/collection/house_collection_tasks/show', { data });
      },
    },
  },
  Company: {
    CompanyEmployeeBacklogs: {
      List(data?: ApiTypes.Company.CompanyEmployeeBacklogs.List): Promise<MyResponseType> {
        return request('employee/company/company_employee_backlogs/list', { data });
      },
      Show(data: ApiTypes.Company.CompanyEmployeeBacklogs.Show): Promise<MyResponseType> {
        return request('employee/company/company_employee_backlogs/show', { data });
      },
    },
    CompanyEmployeeCustomers: {
      List(data?: ApiTypes.Company.CompanyEmployeeCustomers.List): Promise<MyResponseType> {
        return request('employee/company/company_employee_customers/list', { data });
      },
      Show(data: ApiTypes.Company.CompanyEmployeeCustomers.Show): Promise<MyResponseType> {
        return request('employee/company/company_employee_customers/show', { data });
      },
      Delete(data: ApiTypes.Company.CompanyEmployeeCustomers.Delete): Promise<MyResponseType> {
        return request('employee/company/company_employee_customers/delete', { data });
      },
    },
    CompanyEmployees: {
      Select(data?: ApiTypes.Company.CompanyEmployees.Select): Promise<MyResponseType> {
        return request('employee/company/company_employees/select', { data });
      },
    },
    CompanyProjectReceiptAccounts: {
      List(data: ApiTypes.Company.CompanyProjectReceiptAccounts.List): Promise<MyResponseType> {
        return request('employee/company/company_project_receipt_accounts/list', { data });
      },
      GetDefaultReceiptAccounts(data: ApiTypes.Company.CompanyProjectReceiptAccounts.GetDefaultReceiptAccounts): Promise<MyResponseType> {
        return request('employee/company/company_project_receipt_accounts/get_default_receipt_accounts', { data });
      },
      Show(data: ApiTypes.Company.CompanyProjectReceiptAccounts.Show): Promise<MyResponseType> {
        return request('employee/company/company_project_receipt_accounts/show', { data });
      },
    },
  },
  Count: {
    CommonCount: {
      IndexCount(): Promise<MyResponseType> {
        return request('employee/count/common_count/index_count', {});
      },
    },
  },
  Customer: {
    CustomerHouses: {
      List(data: ApiTypes.Customer.CustomerHouses.List): Promise<MyResponseType> {
        return request('employee/customer/customer_houses/list', { data });
      },
      Show(data: ApiTypes.Customer.CustomerHouses.Show): Promise<MyResponseType> {
        return request('employee/customer/customer_houses/show', { data });
      },
      HouseDetail(data: ApiTypes.Customer.CustomerHouses.HouseDetail): Promise<MyResponseType> {
        return request('employee/customer/customer_houses/house_detail', { data });
      },
    },
    CustomerMomentTasks: {
      List(data?: ApiTypes.Customer.CustomerMomentTasks.List): Promise<MyResponseType> {
        return request('employee/customer/customer_moment_tasks/list', { data });
      },
      Store(data: ApiTypes.Customer.CustomerMomentTasks.Store): Promise<MyResponseType> {
        return request('employee/customer/customer_moment_tasks/store', { data });
      },
      Show(data: ApiTypes.Customer.CustomerMomentTasks.Show): Promise<MyResponseType> {
        return request('employee/customer/customer_moment_tasks/show', { data });
      },
    },
    CustomerMoments: {
      Show(data: ApiTypes.Customer.CustomerMoments.Show): Promise<MyResponseType> {
        return request('employee/customer/customer_moments/show', { data });
      },
      UploadMedia(data: ApiTypes.Customer.CustomerMoments.UploadMedia): Promise<MyResponseType> {
        return request('employee/customer/customer_moments/upload_media', { data });
      },
      UploadImage(data: ApiTypes.Customer.CustomerMoments.UploadImage): Promise<MyResponseType> {
        return request('employee/customer/customer_moments/upload_image', { data });
      },
    },
    CustomerOpinions: {
      Store(data: ApiTypes.Customer.CustomerOpinions.Store): Promise<MyResponseType> {
        return request('employee/customer/customer_opinions/store', { data });
      },
    },
  },
  Emergency: {
    EmergencyEventCategories: {
      List(data?: ApiTypes.Emergency.EmergencyEventCategories.List): Promise<MyResponseType> {
        return request('employee/emergency/emergency_event_categories/list', { data });
      },
      TreeList(data?: ApiTypes.Emergency.EmergencyEventCategories.TreeList): Promise<MyResponseType> {
        return request('employee/emergency/emergency_event_categories/tree_list', { data });
      },
      Show(data: ApiTypes.Emergency.EmergencyEventCategories.Show): Promise<MyResponseType> {
        return request('employee/emergency/emergency_event_categories/show', { data });
      },
      Select(data?: ApiTypes.Emergency.EmergencyEventCategories.Select): Promise<MyResponseType> {
        return request('employee/emergency/emergency_event_categories/select', { data });
      },
      SelectTree(data?: ApiTypes.Emergency.EmergencyEventCategories.SelectTree): Promise<MyResponseType> {
        return request('employee/emergency/emergency_event_categories/select_tree', { data });
      },
    },
    EmergencyEventFollows: {
      List(data: ApiTypes.Emergency.EmergencyEventFollows.List): Promise<MyResponseType> {
        return request('employee/emergency/emergency_event_follows/list', { data });
      },
      Store(data: ApiTypes.Emergency.EmergencyEventFollows.Store): Promise<MyResponseType> {
        return request('employee/emergency/emergency_event_follows/store', { data });
      },
      Show(data: ApiTypes.Emergency.EmergencyEventFollows.Show): Promise<MyResponseType> {
        return request('employee/emergency/emergency_event_follows/show', { data });
      },
    },
    EmergencyEventLevels: {
      List(data?: ApiTypes.Emergency.EmergencyEventLevels.List): Promise<MyResponseType> {
        return request('employee/emergency/emergency_event_levels/list', { data });
      },
      Show(data: ApiTypes.Emergency.EmergencyEventLevels.Show): Promise<MyResponseType> {
        return request('employee/emergency/emergency_event_levels/show', { data });
      },
      Select(data?: ApiTypes.Emergency.EmergencyEventLevels.Select): Promise<MyResponseType> {
        return request('employee/emergency/emergency_event_levels/select', { data });
      },
    },
    EmergencyEventTeams: {
      List(data?: ApiTypes.Emergency.EmergencyEventTeams.List): Promise<MyResponseType> {
        return request('employee/emergency/emergency_event_teams/list', { data });
      },
      Show(data: ApiTypes.Emergency.EmergencyEventTeams.Show): Promise<MyResponseType> {
        return request('employee/emergency/emergency_event_teams/show', { data });
      },
      GetPermission(data: ApiTypes.Emergency.EmergencyEventTeams.GetPermission): Promise<MyResponseType> {
        return request('employee/emergency/emergency_event_teams/get_permission', { data });
      },
      Select(data?: ApiTypes.Emergency.EmergencyEventTeams.Select): Promise<MyResponseType> {
        return request('employee/emergency/emergency_event_teams/select', { data });
      },
    },
    EmergencyEvents: {
      List(data?: ApiTypes.Emergency.EmergencyEvents.List): Promise<MyResponseType> {
        return request('employee/emergency/emergency_events/list', { data });
      },
      Store(data: ApiTypes.Emergency.EmergencyEvents.Store): Promise<MyResponseType> {
        return request('employee/emergency/emergency_events/store', { data });
      },
      Update(data: ApiTypes.Emergency.EmergencyEvents.Update): Promise<MyResponseType> {
        return request('employee/emergency/emergency_events/update', { data });
      },
      Show(data: ApiTypes.Emergency.EmergencyEvents.Show): Promise<MyResponseType> {
        return request('employee/emergency/emergency_events/show', { data });
      },
      ApplyClose(data: ApiTypes.Emergency.EmergencyEvents.ApplyClose): Promise<MyResponseType> {
        return request('employee/emergency/emergency_events/apply_close', { data });
      },
      Select(data?: ApiTypes.Emergency.EmergencyEvents.Select): Promise<MyResponseType> {
        return request('employee/emergency/emergency_events/select', { data });
      },
    },
  },
  GoodsReleases: {
    GoodsReleases: {
      ScanRelease(data: ApiTypes.GoodsReleases.GoodsReleases.ScanRelease): Promise<MyResponseType> {
        return request('employee/goods_releases/goods_releases/scan_release', { data });
      },
      Show(data: ApiTypes.GoodsReleases.GoodsReleases.Show): Promise<MyResponseType> {
        return request('employee/goods_releases/goods_releases/show', { data });
      },
    },
  },
  Grid: {
    GridRanges: {
      List(data?: ApiTypes.Grid.GridRanges.List): Promise<MyResponseType> {
        return request('employee/grid/grid_ranges/list', { data });
      },
      Show(data: ApiTypes.Grid.GridRanges.Show): Promise<MyResponseType> {
        return request('employee/grid/grid_ranges/show', { data });
      },
    },
    Grids: {
      List(data?: ApiTypes.Grid.Grids.List): Promise<MyResponseType> {
        return request('employee/grid/grids/list', { data });
      },
      Show(data: ApiTypes.Grid.Grids.Show): Promise<MyResponseType> {
        return request('employee/grid/grids/show', { data });
      },
      CountGridHouse(): Promise<MyResponseType> {
        return request('employee/grid/grids/count_grid_house', {});
      },
      GridAssetProject(data?: ApiTypes.Grid.Grids.GridAssetProject): Promise<MyResponseType> {
        return request('employee/grid/grids/grid_asset_project', { data });
      },
      GridAssetBuilding(data?: ApiTypes.Grid.Grids.GridAssetBuilding): Promise<MyResponseType> {
        return request('employee/grid/grids/grid_asset_building', { data });
      },
      GridAssetUnit(data?: ApiTypes.Grid.Grids.GridAssetUnit): Promise<MyResponseType> {
        return request('employee/grid/grids/grid_asset_unit', { data });
      },
      GridAssetHouse(data?: ApiTypes.Grid.Grids.GridAssetHouse): Promise<MyResponseType> {
        return request('employee/grid/grids/grid_asset_house', { data });
      },
      GridSelectHouse(data?: ApiTypes.Grid.Grids.GridSelectHouse): Promise<MyResponseType> {
        return request('employee/grid/grids/grid_select_house', { data });
      },
    },
  },
  HouseOrder: {
    HouseOrders: {
      Store(data: ApiTypes.HouseOrder.HouseOrders.Store): Promise<MyResponseType> {
        return request('employee/house_order/house_orders/store', { data });
      },
      Show(data: ApiTypes.HouseOrder.HouseOrders.Show): Promise<MyResponseType> {
        return request('employee/house_order/house_orders/show', { data });
      },
      GetPayQrCode(data: ApiTypes.HouseOrder.HouseOrders.GetPayQrCode): Promise<MyResponseType> {
        return request('employee/house_order/house_orders/get_pay_qr_code', { data });
      },
      AlipayQrCode(data: ApiTypes.HouseOrder.HouseOrders.AlipayQrCode): Promise<MyResponseType> {
        return request('employee/house_order/house_orders/alipay_qr_code', { data });
      },
    },
  },
  Login: {
    Auth: {
      Login(data: ApiTypes.Login.Auth.Login): Promise<MyResponseType> {
        return request('employee/login/auth/login', { data });
      },
      Logout(): Promise<MyResponseType> {
        return request('employee/login/auth/logout', {});
      },
      Me(): Promise<MyResponseType> {
        return request('employee/login/auth/me', {});
      },
      ChangeAvatar(data: ApiTypes.Login.Auth.ChangeAvatar): Promise<MyResponseType> {
        return request('employee/login/auth/change_avatar', { data });
      },
      BindPhoneNumber(data: ApiTypes.Login.Auth.BindPhoneNumber): Promise<MyResponseType> {
        return request('employee/login/auth/bind_phone_number', { data });
      },
      SendValidateSms(data: ApiTypes.Login.Auth.SendValidateSms): Promise<MyResponseType> {
        return request('employee/login/auth/send_validate_sms', { data });
      },
      GetAccessToken(data: ApiTypes.Login.Auth.GetAccessToken): Promise<MyResponseType> {
        return request('employee/login/auth/get_access_token', { data });
      },
      WorkLogin(data: ApiTypes.Login.Auth.WorkLogin): Promise<MyResponseType> {
        return request('employee/login/auth/work_login', { data });
      },
      BindWork(data: ApiTypes.Login.Auth.BindWork): Promise<MyResponseType> {
        return request('employee/login/auth/bind_work', { data });
      },
      GetWorkAccessToken(data: ApiTypes.Login.Auth.GetWorkAccessToken): Promise<MyResponseType> {
        return request('employee/login/auth/get_work_access_token', { data });
      },
      PreUpload(data: ApiTypes.Login.Auth.PreUpload): Promise<MyResponseType> {
        return request('employee/login/auth/pre_upload', { data });
      },
      TemporaryUrl(data: ApiTypes.Login.Auth.TemporaryUrl): Promise<MyResponseType> {
        return request('employee/login/auth/temporary_url', { data });
      },
    },
  },
  Meter: {
    HouseMeterReadings: {
      List(data: ApiTypes.Meter.HouseMeterReadings.List): Promise<MyResponseType> {
        return request('employee/meter/house_meter_readings/list', { data });
      },
      GetMeterDetail(data: ApiTypes.Meter.HouseMeterReadings.GetMeterDetail): Promise<MyResponseType> {
        return request('employee/meter/house_meter_readings/get_meter_detail', { data });
      },
      Store(data: ApiTypes.Meter.HouseMeterReadings.Store): Promise<MyResponseType> {
        return request('employee/meter/house_meter_readings/store', { data });
      },
      Show(data: ApiTypes.Meter.HouseMeterReadings.Show): Promise<MyResponseType> {
        return request('employee/meter/house_meter_readings/show', { data });
      },
    },
    HouseMeters: {
      List(data: ApiTypes.Meter.HouseMeters.List): Promise<MyResponseType> {
        return request('employee/meter/house_meters/list', { data });
      },
      Show(data: ApiTypes.Meter.HouseMeters.Show): Promise<MyResponseType> {
        return request('employee/meter/house_meters/show', { data });
      },
    },
  },
  Msg: {
    MsgPropertyAnnouncements: {
      List(data?: ApiTypes.Msg.MsgPropertyAnnouncements.List): Promise<MyResponseType> {
        return request('employee/msg/msg_property_announcements/list', { data });
      },
      Show(data: ApiTypes.Msg.MsgPropertyAnnouncements.Show): Promise<MyResponseType> {
        return request('employee/msg/msg_property_announcements/show', { data });
      },
      MarkAsRead(data: ApiTypes.Msg.MsgPropertyAnnouncements.MarkAsRead): Promise<MyResponseType> {
        return request('employee/msg/msg_property_announcements/mark_as_read', { data });
      },
      CountMsg(): Promise<MyResponseType> {
        return request('employee/msg/msg_property_announcements/count_msg', {});
      },
    },
  },
  Patrol: {
    PatrolTaskLocations: {
      GetPatrolTaskList(data: ApiTypes.Patrol.PatrolTaskLocations.GetPatrolTaskList): Promise<MyResponseType> {
        return request('employee/patrol/patrol_task_locations/get_patrol_task_list', { data });
      },
      Store(data: ApiTypes.Patrol.PatrolTaskLocations.Store): Promise<MyResponseType> {
        return request('employee/patrol/patrol_task_locations/store', { data });
      },
      GetPatrolTaskLocation(data: ApiTypes.Patrol.PatrolTaskLocations.GetPatrolTaskLocation): Promise<MyResponseType> {
        return request('employee/patrol/patrol_task_locations/get_patrol_task_location', { data });
      },
      Show(data: ApiTypes.Patrol.PatrolTaskLocations.Show): Promise<MyResponseType> {
        return request('employee/patrol/patrol_task_locations/show', { data });
      },
    },
  },
  Survey: {
    Surveys: {
      List(): Promise<MyResponseType> {
        return request('employee/survey/surveys/list', {});
      },
      Questions(data: ApiTypes.Survey.Surveys.Questions): Promise<MyResponseType> {
        return request('employee/survey/surveys/questions', { data });
      },
      SubmitResponse(data: ApiTypes.Survey.Surveys.SubmitResponse): Promise<MyResponseType> {
        return request('employee/survey/surveys/submit_response', { data });
      },
    },
  },
  Visitor: {
    VisitorApplies: {
      Scan(data: ApiTypes.Visitor.VisitorApplies.Scan): Promise<MyResponseType> {
        return request('employee/visitor/visitor_applies/scan', { data });
      },
      Show(data: ApiTypes.Visitor.VisitorApplies.Show): Promise<MyResponseType> {
        return request('employee/visitor/visitor_applies/show', { data });
      },
    },
  },
  WorkOrder: {
    HouseWorkLogs: {
      List(data: ApiTypes.WorkOrder.HouseWorkLogs.List): Promise<MyResponseType> {
        return request('employee/work_order/house_work_logs/list', { data });
      },
      Store(data: ApiTypes.WorkOrder.HouseWorkLogs.Store): Promise<MyResponseType> {
        return request('employee/work_order/house_work_logs/store', { data });
      },
      Show(data: ApiTypes.WorkOrder.HouseWorkLogs.Show): Promise<MyResponseType> {
        return request('employee/work_order/house_work_logs/show', { data });
      },
    },
    HouseWorkOrders: {
      List(data?: ApiTypes.WorkOrder.HouseWorkOrders.List): Promise<MyResponseType> {
        return request('employee/work_order/house_work_orders/list', { data });
      },
      MySubmitList(data?: ApiTypes.WorkOrder.HouseWorkOrders.MySubmitList): Promise<MyResponseType> {
        return request('employee/work_order/house_work_orders/my_submit_list', { data });
      },
      GetHouseWorkOrders(data: ApiTypes.WorkOrder.HouseWorkOrders.GetHouseWorkOrders): Promise<MyResponseType> {
        return request('employee/work_order/house_work_orders/get_house_work_orders', { data });
      },
      Store(data: ApiTypes.WorkOrder.HouseWorkOrders.Store): Promise<MyResponseType> {
        return request('employee/work_order/house_work_orders/store', { data });
      },
      Show(data: ApiTypes.WorkOrder.HouseWorkOrders.Show): Promise<MyResponseType> {
        return request('employee/work_order/house_work_orders/show', { data });
      },
      GetWorkOrderPayQrCode(data: ApiTypes.WorkOrder.HouseWorkOrders.GetWorkOrderPayQrCode): Promise<MyResponseType> {
        return request('employee/work_order/house_work_orders/get_work_order_pay_qr_code', { data });
      },
      GetWorkOrderAlipayQrCode(data: ApiTypes.WorkOrder.HouseWorkOrders.GetWorkOrderAlipayQrCode): Promise<MyResponseType> {
        return request('employee/work_order/house_work_orders/get_work_order_alipay_qr_code', { data });
      },
      Accept(data: ApiTypes.WorkOrder.HouseWorkOrders.Accept): Promise<MyResponseType> {
        return request('employee/work_order/house_work_orders/accept', { data });
      },
      Close(data: ApiTypes.WorkOrder.HouseWorkOrders.Close): Promise<MyResponseType> {
        return request('employee/work_order/house_work_orders/close', { data });
      },
      UnassignedList(data?: ApiTypes.WorkOrder.HouseWorkOrders.UnassignedList): Promise<MyResponseType> {
        return request('employee/work_order/house_work_orders/unassigned_list', { data });
      },
      Receive(data: ApiTypes.WorkOrder.HouseWorkOrders.Receive): Promise<MyResponseType> {
        return request('employee/work_order/house_work_orders/receive', { data });
      },
      Assign(data: ApiTypes.WorkOrder.HouseWorkOrders.Assign): Promise<MyResponseType> {
        return request('employee/work_order/house_work_orders/assign', { data });
      },
      GetAssignPermission(data: ApiTypes.WorkOrder.HouseWorkOrders.GetAssignPermission): Promise<MyResponseType> {
        return request('employee/work_order/house_work_orders/get_assign_permission', { data });
      },
    },
  },
}