Merge pull request 'develop' (#19) from develop into main
All checks were successful
Build and Push Docker Image / build (push) Successful in 3m52s

Reviewed-on: #19
This commit is contained in:
zsq 2026-01-25 11:13:45 +08:00
commit d466eee7bb
19 changed files with 2362 additions and 82 deletions

View File

@ -14,12 +14,10 @@ export default defineConfig({
},
proxy: {
'/api/': {
// target: 'http://yt:8003',
// target: 'http://10.39.13.78:8001/',
target: 'https://test-admin.linyikj.com.cn/',
// target: 'http://10.39.13.78:8001',
target: 'http://10.39.13.78:8001/',
// target: 'https://test-admin.linyikj.com.cn/',
// target: 'https://admin.linyikj.com.cn/',
// target: 'http://k369a3d6.natappfree.cc/',
changeOrigin: true,
pathRewrite: { '^': '' },
},

847
src/gen/ApiTypes.d.ts vendored

File diff suppressed because it is too large Load Diff

View File

@ -41,6 +41,69 @@ export const Apis = {
},
},
},
Approval: {
ApprovalInstances: {
PendingList(data?: ApiTypes.Approval.ApprovalInstances.PendingList): Promise<MyResponseType> {
return request('admin/approval/approval_instances/pending_list', { data });
},
PendingCount(): Promise<MyResponseType> {
return request('admin/approval/approval_instances/pending_count', {});
},
MyApplyList(): Promise<MyResponseType> {
return request('admin/approval/approval_instances/my_apply_list', {});
},
Show(data: ApiTypes.Approval.ApprovalInstances.Show): Promise<MyResponseType> {
return request('admin/approval/approval_instances/show', { data });
},
Approve(data: ApiTypes.Approval.ApprovalInstances.Approve): Promise<MyResponseType> {
return request('admin/approval/approval_instances/approve', { data });
},
Cancel(data: ApiTypes.Approval.ApprovalInstances.Cancel): Promise<MyResponseType> {
return request('admin/approval/approval_instances/cancel', { data });
},
Transfer(data: ApiTypes.Approval.ApprovalInstances.Transfer): Promise<MyResponseType> {
return request('admin/approval/approval_instances/transfer', { data });
},
List(data?: ApiTypes.Approval.ApprovalInstances.List): Promise<MyResponseType> {
return request('admin/approval/approval_instances/list', { data });
},
ProcessedList(data?: ApiTypes.Approval.ApprovalInstances.ProcessedList): Promise<MyResponseType> {
return request('admin/approval/approval_instances/processed_list', { data });
},
CcList(data?: ApiTypes.Approval.ApprovalInstances.CcList): Promise<MyResponseType> {
return request('admin/approval/approval_instances/cc_list', { data });
},
},
ApprovalTemplates: {
List(data?: ApiTypes.Approval.ApprovalTemplates.List): Promise<MyResponseType> {
return request('admin/approval/approval_templates/list', { data });
},
Store(data: ApiTypes.Approval.ApprovalTemplates.Store): Promise<MyResponseType> {
return request('admin/approval/approval_templates/store', { data });
},
Update(data: ApiTypes.Approval.ApprovalTemplates.Update): Promise<MyResponseType> {
return request('admin/approval/approval_templates/update', { data });
},
Show(data: ApiTypes.Approval.ApprovalTemplates.Show): Promise<MyResponseType> {
return request('admin/approval/approval_templates/show', { data });
},
SoftDelete(data: ApiTypes.Approval.ApprovalTemplates.SoftDelete): Promise<MyResponseType> {
return request('admin/approval/approval_templates/soft_delete', { data });
},
Restore(data: ApiTypes.Approval.ApprovalTemplates.Restore): Promise<MyResponseType> {
return request('admin/approval/approval_templates/restore', { data });
},
Delete(data: ApiTypes.Approval.ApprovalTemplates.Delete): Promise<MyResponseType> {
return request('admin/approval/approval_templates/delete', { data });
},
ToggleEnabled(data: ApiTypes.Approval.ApprovalTemplates.ToggleEnabled): Promise<MyResponseType> {
return request('admin/approval/approval_templates/toggle_enabled', { data });
},
ReplaceApprover(data: ApiTypes.Approval.ApprovalTemplates.ReplaceApprover): Promise<MyResponseType> {
return request('admin/approval/approval_templates/replace_approver', { data });
},
},
},
Archive: {
HouseOccupants: {
List(data?: ApiTypes.Archive.HouseOccupants.List): Promise<MyResponseType> {
@ -131,6 +194,32 @@ export const Apis = {
return request('admin/asset/asset_buildings/select', { data });
},
},
AssetCarPorts: {
List(data?: ApiTypes.Asset.AssetCarPorts.List): Promise<MyResponseType> {
return request('admin/asset/asset_car_ports/list', { data });
},
Store(data: ApiTypes.Asset.AssetCarPorts.Store): Promise<MyResponseType> {
return request('admin/asset/asset_car_ports/store', { data });
},
Update(data: ApiTypes.Asset.AssetCarPorts.Update): Promise<MyResponseType> {
return request('admin/asset/asset_car_ports/update', { data });
},
Show(data: ApiTypes.Asset.AssetCarPorts.Show): Promise<MyResponseType> {
return request('admin/asset/asset_car_ports/show', { data });
},
SoftDelete(data: ApiTypes.Asset.AssetCarPorts.SoftDelete): Promise<MyResponseType> {
return request('admin/asset/asset_car_ports/soft_delete', { data });
},
Restore(data: ApiTypes.Asset.AssetCarPorts.Restore): Promise<MyResponseType> {
return request('admin/asset/asset_car_ports/restore', { data });
},
Delete(data: ApiTypes.Asset.AssetCarPorts.Delete): Promise<MyResponseType> {
return request('admin/asset/asset_car_ports/delete', { data });
},
Select(data?: ApiTypes.Asset.AssetCarPorts.Select): Promise<MyResponseType> {
return request('admin/asset/asset_car_ports/select', { data });
},
},
AssetHouses: {
List(data?: ApiTypes.Asset.AssetHouses.List): Promise<MyResponseType> {
return request('admin/asset/asset_houses/list', { data });
@ -150,6 +239,9 @@ export const Apis = {
Select(data?: ApiTypes.Asset.AssetHouses.Select): Promise<MyResponseType> {
return request('admin/asset/asset_houses/select', { data });
},
SelectFullName(data?: ApiTypes.Asset.AssetHouses.SelectFullName): Promise<MyResponseType> {
return request('admin/asset/asset_houses/select_full_name', { data });
},
Import(data?: ApiTypes.Asset.AssetHouses.Import): Promise<MyResponseType> {
return request('admin/asset/asset_houses/import', { data });
},
@ -160,6 +252,46 @@ export const Apis = {
return request('admin/asset/asset_houses/export', { responseType: 'blob',data });
},
},
AssetParkingPlaces: {
List(data?: ApiTypes.Asset.AssetParkingPlaces.List): Promise<MyResponseType> {
return request('admin/asset/asset_parking_places/list', { data });
},
Store(data: ApiTypes.Asset.AssetParkingPlaces.Store): Promise<MyResponseType> {
return request('admin/asset/asset_parking_places/store', { data });
},
Update(data: ApiTypes.Asset.AssetParkingPlaces.Update): Promise<MyResponseType> {
return request('admin/asset/asset_parking_places/update', { data });
},
Show(data: ApiTypes.Asset.AssetParkingPlaces.Show): Promise<MyResponseType> {
return request('admin/asset/asset_parking_places/show', { data });
},
SoftDelete(data: ApiTypes.Asset.AssetParkingPlaces.SoftDelete): Promise<MyResponseType> {
return request('admin/asset/asset_parking_places/soft_delete', { data });
},
Restore(data: ApiTypes.Asset.AssetParkingPlaces.Restore): Promise<MyResponseType> {
return request('admin/asset/asset_parking_places/restore', { data });
},
Delete(data: ApiTypes.Asset.AssetParkingPlaces.Delete): Promise<MyResponseType> {
return request('admin/asset/asset_parking_places/delete', { data });
},
Select(data?: ApiTypes.Asset.AssetParkingPlaces.Select): Promise<MyResponseType> {
return request('admin/asset/asset_parking_places/select', { data });
},
},
AssetProjectAdmins: {
List(data?: ApiTypes.Asset.AssetProjectAdmins.List): Promise<MyResponseType> {
return request('admin/asset/asset_project_admins/list', { data });
},
Store(data: ApiTypes.Asset.AssetProjectAdmins.Store): Promise<MyResponseType> {
return request('admin/asset/asset_project_admins/store', { data });
},
Show(data: ApiTypes.Asset.AssetProjectAdmins.Show): Promise<MyResponseType> {
return request('admin/asset/asset_project_admins/show', { data });
},
Delete(data: ApiTypes.Asset.AssetProjectAdmins.Delete): Promise<MyResponseType> {
return request('admin/asset/asset_project_admins/delete', { data });
},
},
AssetProjects: {
List(data?: ApiTypes.Asset.AssetProjects.List): Promise<MyResponseType> {
return request('admin/asset/asset_projects/list', { data });
@ -296,6 +428,9 @@ export const Apis = {
DownloadTemplate(): Promise<MyResponseType> {
return request('admin/bill/house_bills/download_template', {responseType: 'blob',});
},
Export(data: ApiTypes.Bill.HouseBills.Export): Promise<MyResponseType> {
return request('admin/bill/house_bills/export', { responseType: 'blob',data });
},
},
},
Collcetion: {
@ -435,7 +570,7 @@ export const Apis = {
},
},
CompanyApps: {
List(data?: ApiTypes.Company.CompanyApps.List): Promise<MyResponseType> {
List(data: ApiTypes.Company.CompanyApps.List): Promise<MyResponseType> {
return request('admin/company/company_apps/list', { data });
},
Store(data: ApiTypes.Company.CompanyApps.Store): Promise<MyResponseType> {
@ -451,6 +586,26 @@ export const Apis = {
return request('admin/company/company_apps/delete', { data });
},
},
CompanyConfigs: {
List(data?: ApiTypes.Company.CompanyConfigs.List): Promise<MyResponseType> {
return request('admin/company/company_configs/list', { data });
},
Store(data: ApiTypes.Company.CompanyConfigs.Store): Promise<MyResponseType> {
return request('admin/company/company_configs/store', { data });
},
Update(data: ApiTypes.Company.CompanyConfigs.Update): Promise<MyResponseType> {
return request('admin/company/company_configs/update', { data });
},
GetDetail(data: ApiTypes.Company.CompanyConfigs.GetDetail): Promise<MyResponseType> {
return request('admin/company/company_configs/get_detail', { data });
},
Show(data: ApiTypes.Company.CompanyConfigs.Show): Promise<MyResponseType> {
return request('admin/company/company_configs/show', { data });
},
Delete(data: ApiTypes.Company.CompanyConfigs.Delete): Promise<MyResponseType> {
return request('admin/company/company_configs/delete', { data });
},
},
CompanyEmployees: {
List(data?: ApiTypes.Company.CompanyEmployees.List): Promise<MyResponseType> {
return request('admin/company/company_employees/list', { data });
@ -461,6 +616,9 @@ export const Apis = {
Update(data: ApiTypes.Company.CompanyEmployees.Update): Promise<MyResponseType> {
return request('admin/company/company_employees/update', { data });
},
ResetPassword(data: ApiTypes.Company.CompanyEmployees.ResetPassword): Promise<MyResponseType> {
return request('admin/company/company_employees/reset_password', { data });
},
Show(data: ApiTypes.Company.CompanyEmployees.Show): Promise<MyResponseType> {
return request('admin/company/company_employees/show', { data });
},
@ -482,6 +640,20 @@ export const Apis = {
DownloadTemplate(): Promise<MyResponseType> {
return request('admin/company/company_employees/download_template', {responseType: 'blob',});
},
Export(data?: ApiTypes.Company.CompanyEmployees.Export): Promise<MyResponseType> {
return request('admin/company/company_employees/export', { responseType: 'blob',data });
},
},
CompanyPermissions: {
GetPermissions(data: ApiTypes.Company.CompanyPermissions.GetPermissions): Promise<MyResponseType> {
return request('admin/company/company_permissions/get_permissions', { data });
},
SetPermissions(data: ApiTypes.Company.CompanyPermissions.SetPermissions): Promise<MyResponseType> {
return request('admin/company/company_permissions/set_permissions', { data });
},
PermissionTree(): Promise<MyResponseType> {
return request('admin/company/company_permissions/permission_tree', {});
},
},
CompanyPositions: {
List(data?: ApiTypes.Company.CompanyPositions.List): Promise<MyResponseType> {
@ -546,6 +718,26 @@ export const Apis = {
return request('admin/company/company_property_brands/select', { data });
},
},
CompanyQuickActions: {
List(data: ApiTypes.Company.CompanyQuickActions.List): Promise<MyResponseType> {
return request('admin/company/company_quick_actions/list', { data });
},
Store(data: ApiTypes.Company.CompanyQuickActions.Store): Promise<MyResponseType> {
return request('admin/company/company_quick_actions/store', { data });
},
BatchStore(data: ApiTypes.Company.CompanyQuickActions.BatchStore): Promise<MyResponseType> {
return request('admin/company/company_quick_actions/batch_store', { data });
},
Update(data: ApiTypes.Company.CompanyQuickActions.Update): Promise<MyResponseType> {
return request('admin/company/company_quick_actions/update', { data });
},
Show(data: ApiTypes.Company.CompanyQuickActions.Show): Promise<MyResponseType> {
return request('admin/company/company_quick_actions/show', { data });
},
Delete(data: ApiTypes.Company.CompanyQuickActions.Delete): Promise<MyResponseType> {
return request('admin/company/company_quick_actions/delete', { data });
},
},
CompanyReceiptAccounts: {
List(data?: ApiTypes.Company.CompanyReceiptAccounts.List): Promise<MyResponseType> {
return request('admin/company/company_receipt_accounts/list', { data });
@ -572,6 +764,26 @@ export const Apis = {
return request('admin/company/company_receipt_accounts/select', { data });
},
},
OrganizationProjects: {
List(data?: ApiTypes.Company.OrganizationProjects.List): Promise<MyResponseType> {
return request('admin/company/organization_projects/list', { data });
},
Store(data: ApiTypes.Company.OrganizationProjects.Store): Promise<MyResponseType> {
return request('admin/company/organization_projects/store', { data });
},
BatchStore(data: ApiTypes.Company.OrganizationProjects.BatchStore): Promise<MyResponseType> {
return request('admin/company/organization_projects/batch_store', { data });
},
Show(data: ApiTypes.Company.OrganizationProjects.Show): Promise<MyResponseType> {
return request('admin/company/organization_projects/show', { data });
},
Delete(data: ApiTypes.Company.OrganizationProjects.Delete): Promise<MyResponseType> {
return request('admin/company/organization_projects/delete', { data });
},
DeleteByOrganization(data: ApiTypes.Company.OrganizationProjects.DeleteByOrganization): Promise<MyResponseType> {
return request('admin/company/organization_projects/delete_by_organization', { data });
},
},
Organizations: {
List(data?: ApiTypes.Company.Organizations.List): Promise<MyResponseType> {
return request('admin/company/organizations/list', { data });
@ -664,6 +876,40 @@ export const Apis = {
},
},
},
GoodsReleases: {
GoodsReleases: {
List(data?: ApiTypes.GoodsReleases.GoodsReleases.List): Promise<MyResponseType> {
return request('admin/goods_releases/goods_releases/list', { data });
},
Store(data: ApiTypes.GoodsReleases.GoodsReleases.Store): Promise<MyResponseType> {
return request('admin/goods_releases/goods_releases/store', { data });
},
Update(data: ApiTypes.GoodsReleases.GoodsReleases.Update): Promise<MyResponseType> {
return request('admin/goods_releases/goods_releases/update', { data });
},
Show(data: ApiTypes.GoodsReleases.GoodsReleases.Show): Promise<MyResponseType> {
return request('admin/goods_releases/goods_releases/show', { data });
},
SoftDelete(data: ApiTypes.GoodsReleases.GoodsReleases.SoftDelete): Promise<MyResponseType> {
return request('admin/goods_releases/goods_releases/soft_delete', { data });
},
Restore(data: ApiTypes.GoodsReleases.GoodsReleases.Restore): Promise<MyResponseType> {
return request('admin/goods_releases/goods_releases/restore', { data });
},
Delete(data: ApiTypes.GoodsReleases.GoodsReleases.Delete): Promise<MyResponseType> {
return request('admin/goods_releases/goods_releases/delete', { data });
},
ApproveByEmployee(data: ApiTypes.GoodsReleases.GoodsReleases.ApproveByEmployee): Promise<MyResponseType> {
return request('admin/goods_releases/goods_releases/approve_by_employee', { data });
},
Release(data: ApiTypes.GoodsReleases.GoodsReleases.Release): Promise<MyResponseType> {
return request('admin/goods_releases/goods_releases/release', { data });
},
ScanRelease(data: ApiTypes.GoodsReleases.GoodsReleases.ScanRelease): Promise<MyResponseType> {
return request('admin/goods_releases/goods_releases/scan_release', { data });
},
},
},
Grid: {
Grids: {
List(data?: ApiTypes.Grid.Grids.List): Promise<MyResponseType> {
@ -690,6 +936,23 @@ export const Apis = {
},
},
HouseCharage: {
HouseChargeHasCarPorts: {
List(data: ApiTypes.HouseCharage.HouseChargeHasCarPorts.List): Promise<MyResponseType> {
return request('admin/house_charage/house_charge_has_car_ports/list', { data });
},
Store(data: ApiTypes.HouseCharage.HouseChargeHasCarPorts.Store): Promise<MyResponseType> {
return request('admin/house_charage/house_charge_has_car_ports/store', { data });
},
GetChargeStandardCarPortIds(data: ApiTypes.HouseCharage.HouseChargeHasCarPorts.GetChargeStandardCarPortIds): Promise<MyResponseType> {
return request('admin/house_charage/house_charge_has_car_ports/get_charge_standard_car_port_ids', { data });
},
Show(data: ApiTypes.HouseCharage.HouseChargeHasCarPorts.Show): Promise<MyResponseType> {
return request('admin/house_charage/house_charge_has_car_ports/show', { data });
},
Delete(data: ApiTypes.HouseCharage.HouseChargeHasCarPorts.Delete): Promise<MyResponseType> {
return request('admin/house_charage/house_charge_has_car_ports/delete', { data });
},
},
HouseChargeHasHouses: {
List(data: ApiTypes.HouseCharage.HouseChargeHasHouses.List): Promise<MyResponseType> {
return request('admin/house_charage/house_charge_has_houses/list', { data });
@ -783,10 +1046,45 @@ export const Apis = {
return request('admin/house_order/house_order_payments/delete', { data });
},
},
HouseOrderRefunds: {
List(data?: ApiTypes.HouseOrder.HouseOrderRefunds.List): Promise<MyResponseType> {
return request('admin/house_order/house_order_refunds/list', { data });
},
Store(data: ApiTypes.HouseOrder.HouseOrderRefunds.Store): Promise<MyResponseType> {
return request('admin/house_order/house_order_refunds/store', { data });
},
Update(data: ApiTypes.HouseOrder.HouseOrderRefunds.Update): Promise<MyResponseType> {
return request('admin/house_order/house_order_refunds/update', { data });
},
Show(data: ApiTypes.HouseOrder.HouseOrderRefunds.Show): Promise<MyResponseType> {
return request('admin/house_order/house_order_refunds/show', { data });
},
Audit(data: ApiTypes.HouseOrder.HouseOrderRefunds.Audit): Promise<MyResponseType> {
return request('admin/house_order/house_order_refunds/audit', { data });
},
SoftDelete(data: ApiTypes.HouseOrder.HouseOrderRefunds.SoftDelete): Promise<MyResponseType> {
return request('admin/house_order/house_order_refunds/soft_delete', { data });
},
Restore(data: ApiTypes.HouseOrder.HouseOrderRefunds.Restore): Promise<MyResponseType> {
return request('admin/house_order/house_order_refunds/restore', { data });
},
Delete(data: ApiTypes.HouseOrder.HouseOrderRefunds.Delete): Promise<MyResponseType> {
return request('admin/house_order/house_order_refunds/delete', { data });
},
},
HouseOrders: {
List(data?: ApiTypes.HouseOrder.HouseOrders.List): Promise<MyResponseType> {
return request('admin/house_order/house_orders/list', { data });
},
Store(data: ApiTypes.HouseOrder.HouseOrders.Store): Promise<MyResponseType> {
return request('admin/house_order/house_orders/store', { data });
},
Update(data: ApiTypes.HouseOrder.HouseOrders.Update): Promise<MyResponseType> {
return request('admin/house_order/house_orders/update', { data });
},
Audit(data: ApiTypes.HouseOrder.HouseOrders.Audit): Promise<MyResponseType> {
return request('admin/house_order/house_orders/audit', { data });
},
Show(data: ApiTypes.HouseOrder.HouseOrders.Show): Promise<MyResponseType> {
return request('admin/house_order/house_orders/show', { data });
},
@ -799,6 +1097,44 @@ export const Apis = {
Delete(data: ApiTypes.HouseOrder.HouseOrders.Delete): Promise<MyResponseType> {
return request('admin/house_order/house_orders/delete', { data });
},
Export(data: ApiTypes.HouseOrder.HouseOrders.Export): Promise<MyResponseType> {
return request('admin/house_order/house_orders/export', { responseType: 'blob',data });
},
UpdateSerialNumber(data: ApiTypes.HouseOrder.HouseOrders.UpdateSerialNumber): Promise<MyResponseType> {
return request('admin/house_order/house_orders/update_serial_number', { data });
},
BatchUpdateSerialNumber(data: ApiTypes.HouseOrder.HouseOrders.BatchUpdateSerialNumber): Promise<MyResponseType> {
return request('admin/house_order/house_orders/batch_update_serial_number', { data });
},
ImportSerialNumber(data: ApiTypes.HouseOrder.HouseOrders.ImportSerialNumber): Promise<MyResponseType> {
return request('admin/house_order/house_orders/import_serial_number', { data });
},
DownloadSerialNumberTemplate(): Promise<MyResponseType> {
return request('admin/house_order/house_orders/download_serial_number_template', {responseType: 'blob',});
},
GetPayCode(data: ApiTypes.HouseOrder.HouseOrders.GetPayCode): Promise<MyResponseType> {
return request('admin/house_order/house_orders/get_pay_code', { data });
},
},
HousePrepaymentLogs: {
List(data?: ApiTypes.HouseOrder.HousePrepaymentLogs.List): Promise<MyResponseType> {
return request('admin/house_order/house_prepayment_logs/list', { data });
},
Deduct(data: ApiTypes.HouseOrder.HousePrepaymentLogs.Deduct): Promise<MyResponseType> {
return request('admin/house_order/house_prepayment_logs/deduct', { data });
},
Show(data: ApiTypes.HouseOrder.HousePrepaymentLogs.Show): Promise<MyResponseType> {
return request('admin/house_order/house_prepayment_logs/show', { data });
},
SoftDelete(data: ApiTypes.HouseOrder.HousePrepaymentLogs.SoftDelete): Promise<MyResponseType> {
return request('admin/house_order/house_prepayment_logs/soft_delete', { data });
},
Restore(data: ApiTypes.HouseOrder.HousePrepaymentLogs.Restore): Promise<MyResponseType> {
return request('admin/house_order/house_prepayment_logs/restore', { data });
},
Delete(data: ApiTypes.HouseOrder.HousePrepaymentLogs.Delete): Promise<MyResponseType> {
return request('admin/house_order/house_prepayment_logs/delete', { data });
},
},
HousePrepaymentPayments: {
List(data?: ApiTypes.HouseOrder.HousePrepaymentPayments.List): Promise<MyResponseType> {
@ -811,6 +1147,32 @@ export const Apis = {
return request('admin/house_order/house_prepayment_payments/delete', { data });
},
},
HousePrepaymentRefunds: {
List(data?: ApiTypes.HouseOrder.HousePrepaymentRefunds.List): Promise<MyResponseType> {
return request('admin/house_order/house_prepayment_refunds/list', { data });
},
Store(data: ApiTypes.HouseOrder.HousePrepaymentRefunds.Store): Promise<MyResponseType> {
return request('admin/house_order/house_prepayment_refunds/store', { data });
},
Update(data: ApiTypes.HouseOrder.HousePrepaymentRefunds.Update): Promise<MyResponseType> {
return request('admin/house_order/house_prepayment_refunds/update', { data });
},
Show(data: ApiTypes.HouseOrder.HousePrepaymentRefunds.Show): Promise<MyResponseType> {
return request('admin/house_order/house_prepayment_refunds/show', { data });
},
Audit(data: ApiTypes.HouseOrder.HousePrepaymentRefunds.Audit): Promise<MyResponseType> {
return request('admin/house_order/house_prepayment_refunds/audit', { data });
},
SoftDelete(data: ApiTypes.HouseOrder.HousePrepaymentRefunds.SoftDelete): Promise<MyResponseType> {
return request('admin/house_order/house_prepayment_refunds/soft_delete', { data });
},
Restore(data: ApiTypes.HouseOrder.HousePrepaymentRefunds.Restore): Promise<MyResponseType> {
return request('admin/house_order/house_prepayment_refunds/restore', { data });
},
Delete(data: ApiTypes.HouseOrder.HousePrepaymentRefunds.Delete): Promise<MyResponseType> {
return request('admin/house_order/house_prepayment_refunds/delete', { data });
},
},
HousePrepayments: {
List(data?: ApiTypes.HouseOrder.HousePrepayments.List): Promise<MyResponseType> {
return request('admin/house_order/house_prepayments/list', { data });
@ -1010,6 +1372,62 @@ export const Apis = {
},
},
},
Refund: {
Refunds: {
List(data?: ApiTypes.Refund.Refunds.List): Promise<MyResponseType> {
return request('admin/refund/refunds/list', { data });
},
Store(data: ApiTypes.Refund.Refunds.Store): Promise<MyResponseType> {
return request('admin/refund/refunds/store', { data });
},
Show(data: ApiTypes.Refund.Refunds.Show): Promise<MyResponseType> {
return request('admin/refund/refunds/show', { data });
},
Complete(data: ApiTypes.Refund.Refunds.Complete): Promise<MyResponseType> {
return request('admin/refund/refunds/complete', { data });
},
Cancel(data: ApiTypes.Refund.Refunds.Cancel): Promise<MyResponseType> {
return request('admin/refund/refunds/cancel', { data });
},
SoftDelete(data: ApiTypes.Refund.Refunds.SoftDelete): Promise<MyResponseType> {
return request('admin/refund/refunds/soft_delete', { data });
},
Restore(data: ApiTypes.Refund.Refunds.Restore): Promise<MyResponseType> {
return request('admin/refund/refunds/restore', { data });
},
Delete(data: ApiTypes.Refund.Refunds.Delete): Promise<MyResponseType> {
return request('admin/refund/refunds/delete', { data });
},
},
},
Visitor: {
VisitorApplies: {
List(data?: ApiTypes.Visitor.VisitorApplies.List): Promise<MyResponseType> {
return request('admin/visitor/visitor_applies/list', { data });
},
Show(data: ApiTypes.Visitor.VisitorApplies.Show): Promise<MyResponseType> {
return request('admin/visitor/visitor_applies/show', { data });
},
Approve(data: ApiTypes.Visitor.VisitorApplies.Approve): Promise<MyResponseType> {
return request('admin/visitor/visitor_applies/approve', { data });
},
Reject(data: ApiTypes.Visitor.VisitorApplies.Reject): Promise<MyResponseType> {
return request('admin/visitor/visitor_applies/reject', { data });
},
Scan(data: ApiTypes.Visitor.VisitorApplies.Scan): Promise<MyResponseType> {
return request('admin/visitor/visitor_applies/scan', { data });
},
SoftDelete(data: ApiTypes.Visitor.VisitorApplies.SoftDelete): Promise<MyResponseType> {
return request('admin/visitor/visitor_applies/soft_delete', { data });
},
Restore(data: ApiTypes.Visitor.VisitorApplies.Restore): Promise<MyResponseType> {
return request('admin/visitor/visitor_applies/restore', { data });
},
Delete(data: ApiTypes.Visitor.VisitorApplies.Delete): Promise<MyResponseType> {
return request('admin/visitor/visitor_applies/delete', { data });
},
},
},
WorkOrder: {
HouseWorkLogs: {
List(data: ApiTypes.WorkOrder.HouseWorkLogs.List): Promise<MyResponseType> {
@ -1025,6 +1443,29 @@ export const Apis = {
return request('admin/work_order/house_work_logs/delete', { data });
},
},
HouseWorkOrderPayments: {
List(data?: ApiTypes.WorkOrder.HouseWorkOrderPayments.List): Promise<MyResponseType> {
return request('admin/work_order/house_work_order_payments/list', { data });
},
Store(data: ApiTypes.WorkOrder.HouseWorkOrderPayments.Store): Promise<MyResponseType> {
return request('admin/work_order/house_work_order_payments/store', { data });
},
Update(data: ApiTypes.WorkOrder.HouseWorkOrderPayments.Update): Promise<MyResponseType> {
return request('admin/work_order/house_work_order_payments/update', { data });
},
Show(data: ApiTypes.WorkOrder.HouseWorkOrderPayments.Show): Promise<MyResponseType> {
return request('admin/work_order/house_work_order_payments/show', { data });
},
SoftDelete(data: ApiTypes.WorkOrder.HouseWorkOrderPayments.SoftDelete): Promise<MyResponseType> {
return request('admin/work_order/house_work_order_payments/soft_delete', { data });
},
Restore(data: ApiTypes.WorkOrder.HouseWorkOrderPayments.Restore): Promise<MyResponseType> {
return request('admin/work_order/house_work_order_payments/restore', { data });
},
Delete(data: ApiTypes.WorkOrder.HouseWorkOrderPayments.Delete): Promise<MyResponseType> {
return request('admin/work_order/house_work_order_payments/delete', { data });
},
},
HouseWorkOrders: {
List(data?: ApiTypes.WorkOrder.HouseWorkOrders.List): Promise<MyResponseType> {
return request('admin/work_order/house_work_orders/list', { data });
@ -1041,6 +1482,12 @@ export const Apis = {
Assign(data: ApiTypes.WorkOrder.HouseWorkOrders.Assign): Promise<MyResponseType> {
return request('admin/work_order/house_work_orders/assign', { data });
},
Visited(data: ApiTypes.WorkOrder.HouseWorkOrders.Visited): Promise<MyResponseType> {
return request('admin/work_order/house_work_orders/visited', { data });
},
Closed(data: ApiTypes.WorkOrder.HouseWorkOrders.Closed): Promise<MyResponseType> {
return request('admin/work_order/house_work_orders/closed', { data });
},
SoftDelete(data: ApiTypes.WorkOrder.HouseWorkOrders.SoftDelete): Promise<MyResponseType> {
return request('admin/work_order/house_work_orders/soft_delete', { data });
},

View File

@ -26,6 +26,69 @@ export const ActivityEnrollsStatusEnum= {
'Cancelled': {"text":"取消","color":"#ff9800","value":"Cancelled"},
};
// 审批实例状态枚举
export const ApprovalInstancesStatusEnum= {
'Pending': {"text":"待审批","color":"#ff9800","value":"Pending"},
'Approved': {"text":"已通过","color":"#4caf50","value":"Approved"},
'Rejected': {"text":"已拒绝","color":"#f44336","value":"Rejected"},
'Cancelled': {"text":"已取消","color":"#9e9e9e","value":"Cancelled"},
};
// 审批记录状态枚举
export const ApprovalRecordsStatusEnum= {
'Pending': {"text":"待审批","color":"#ff9800","value":"Pending"},
'Approved': {"text":"同意","color":"#4caf50","value":"Approved"},
'Rejected': {"text":"拒绝","color":"#f44336","value":"Rejected"},
'Transferred': {"text":"转交","color":"#9c27b0","value":"Transferred"},
};
// 审批方式枚举
export const ApprovalTemplateNodesApproveTypeEnum= {
'And': {"text":"会签","color":"#4caf50","value":"And"},
'Or': {"text":"或签","color":"#ff9800","value":"Or"},
};
// 审批节点类型枚举
export const ApprovalTemplateNodesNodeTypeEnum= {
'Approver': {"text":"审批人","color":"#2196f3","value":"Approver"},
'CC': {"text":"抄送人","color":"#9e9e9e","value":"CC"},
};
// 审批业务类型枚举
export const ApprovalTemplatesTypeEnum= {
'Contract': {"text":"合同","color":"#2196f3","value":"Contract"},
'Finance': {"text":"财务","color":"#4caf50","value":"Finance"},
'Refund': {"text":"退款","color":"#f44336","value":"Refund"},
};
// 车位产权类型
export const AssetCarPortsPropertyTypeEnum= {
'Ownership': {"text":"产权车位","color":"#1e90ff","value":"Ownership"},
'CivilDefense': {"text":"人防车位","color":"#32cd32","value":"CivilDefense"},
'Public': {"text":"公共车位","color":"#ff8c00","value":"Public"},
'Temporary': {"text":"临时车位","color":"#ba55d3","value":"Temporary"},
'Other': {"text":"其他","color":"#a9a9a9","value":"Other"},
};
// 车位状态
export const AssetCarPortsStatusEnum= {
'Unsold': {"text":"未售","color":"#6b7280","value":"Unsold"},
'Sold': {"text":"已售","color":"#10b981","value":"Sold"},
'Rented': {"text":"已租","color":"#3b82f6","value":"Rented"},
'Unrented': {"text":"未租","color":"#f59e0b","value":"Unrented"},
'Other': {"text":"其他","color":"#9ca3af","value":"Other"},
};
// 车位类型
export const AssetCarPortsTypeEnum= {
'Standard': {"text":"标准车位","color":"#1e90ff","value":"Standard"},
'Mini': {"text":"微型车位","color":"#32cd32","value":"Mini"},
'Accessible': {"text":"无障碍车位","color":"#ff8c00","value":"Accessible"},
'Tandem': {"text":"子母车位","color":"#ba55d3","value":"Tandem"},
'Mechanical': {"text":"机械车位","color":"#20b2aa","value":"Mechanical"},
'Other': {"text":"其他","color":"#a9a9a9","value":"Other"},
};
// AssetHousesOrientationEnum
export const AssetHousesOrientationEnum= {
'East': {"text":"东","color":"#007bff","value":"East"},
@ -81,6 +144,34 @@ export const AssetHousesUsageEnum= {
'PropertyRoom': {"text":"物业用房","color":"#dc3545","value":"PropertyRoom"},
};
// 车场收费类型
export const AssetParkingPlacesChargeTypeEnum= {
'Free': {"text":"免费","color":"#32cd32","value":"Free"},
'TemporaryCharge': {"text":"临停收费","color":"#1e90ff","value":"TemporaryCharge"},
'MonthlyCharge': {"text":"月卡收费","color":"#ff8c00","value":"MonthlyCharge"},
'MixedCharge': {"text":"混合收费","color":"#ba55d3","value":"MixedCharge"},
};
// 车场位置类型
export const AssetParkingPlacesLocationTypeEnum= {
'GroundParking': {"text":"地面车场","color":"#ffa500","value":"GroundParking"},
'UndergroundParking': {"text":"地下车场","color":"#4682b4","value":"UndergroundParking"},
};
// 车场产权类型
export const AssetParkingPlacesPropertyTypeEnum= {
'DispersedOwnership': {"text":"分散产权","color":"#ff7f50","value":"DispersedOwnership"},
'SingleOwnership': {"text":"单一产权","color":"#1e90ff","value":"SingleOwnership"},
'SharedOwnership': {"text":"共有产权","color":"#32cd32","value":"SharedOwnership"},
};
// 车场类型
export const AssetParkingPlacesTypeEnum= {
'ResidentialSupporting': {"text":"住宅配套车场","color":"#ff8c00","value":"ResidentialSupporting"},
'Commercial': {"text":"商业车场","color":"#1e90ff","value":"Commercial"},
'Mixed': {"text":"混合车场","color":"#32cd32","value":"Mixed"},
};
// AssetProjectsChargeEnum
export const AssetProjectsChargeEnum= {
'Contract': {"text":"包干制","color":"#007bff","value":"Contract"},
@ -94,6 +185,12 @@ export const AssetProjectsEntrustTypeEnum= {
'GovernmentFullEntrust': {"text":"政府类全委","color":"#ffc107","value":"GovernmentFullEntrust"},
};
// 业权类型
export const AssetProjectsOwnershipTypeEnum= {
'SingleOwnership': {"text":"单业权","color":"#00cc66","value":"SingleOwnership"},
'MultipleOwnership': {"text":"多业权","color":"#0099ff","value":"MultipleOwnership"},
};
// AssetProjectsPropertyTypeEnum
export const AssetProjectsPropertyTypeEnum= {
'Residence': {"text":"住宅","color":"#ff0000","value":"Residence"},
@ -154,7 +251,7 @@ export const BannersTypeEnum= {
// 缓存类型
export const CacheTypeEnum= {
'MobilePhoneVerificationCode': {"text":"手机验证码","color":"#ad9561","value":"MobilePhoneVerificationCode"},
'MobilePhoneVerificationCode': {"text":"手机验证码","color":"#3f0fe5","value":"MobilePhoneVerificationCode"},
};
// CompaniesMerchantTypeEnum
@ -182,6 +279,11 @@ export const CompanyAppsWorkTypeEnum= {
'WorkWechat': {"text":"企微","color":"#0091ea","value":"WorkWechat"},
};
// CompanyConfigsConfigKeyEnum
export const CompanyConfigsConfigKeyEnum= {
'Theme': {"text":"主题色","color":"#3b82f6","value":"Theme"},
};
// CompanyEmployeeBacklogsStatusEnum
export const CompanyEmployeeBacklogsStatusEnum= {
'Pending': {"text":"待办","color":"#FF6600","value":"Pending"},
@ -279,6 +381,29 @@ export const CustomerOpinionsTypeEnum= {
'FeatureSuggestion': {"text":"新功能建议","color":"#00bfff","value":"FeatureSuggestion"},
};
// 物品放行审核状态
export const GoodsReleasesAuditStatusEnum= {
'Pending': {"text":"待审核","color":"#faad14","value":"Pending"},
'Approved': {"text":"已通过","color":"#52c41a","value":"Approved"},
'Rejected': {"text":"已退回","color":"#ff4d4f","value":"Rejected"},
};
// 物品放行通行类型
export const GoodsReleasesPassedTypeEnum= {
'Moving': {"text":"搬家","color":"#1890ff","value":"Moving"},
'Delivery': {"text":"出货","color":"#52c41a","value":"Delivery"},
'Other': {"text":"其他","color":"#faad14","value":"Other"},
};
// 物品放行状态
export const GoodsReleasesStatusEnum= {
'Pending': {"text":"待审核","color":"#faad14","value":"Pending"},
'OwnerApproved': {"text":"业主已审","color":"#1890ff","value":"OwnerApproved"},
'Approved': {"text":"已通过","color":"#52c41a","value":"Approved"},
'Rejected': {"text":"已退回","color":"#ff4d4f","value":"Rejected"},
'Released': {"text":"已放行","color":"#722ed1","value":"Released"},
};
// 账单状态枚举
export const HouseBillsBillStatusEnum= {
'PendingPayment': {"text":"待支付","color":"#facc15","value":"PendingPayment"},
@ -296,6 +421,7 @@ export const HouseBillsTypeEnum= {
'ElectricityFee': {"text":"电费","color":"#f59e0b","value":"ElectricityFee"},
'SharedWaterFee': {"text":"公摊水费","color":"#8b5cf6","value":"SharedWaterFee"},
'SharedElectricityFee': {"text":"公摊电费","color":"#ec4899","value":"SharedElectricityFee"},
'CarPortFee': {"text":"车位费","color":"#f59e0b","value":"CarPortFee"},
};
// HouseChargeStandardsApportionmentMethodEnum
@ -346,6 +472,7 @@ export const HouseChargeStandardsStatusEnum= {
export const HouseChargeStandardsTypeEnum= {
'House': {"text":"房屋","color":"#3b82f6","value":"House"},
'Meter': {"text":"仪表","color":"#10b981","value":"Meter"},
'CarPort': {"text":"车位","color":"#f59e0b","value":"CarPort"},
};
// HouseChargeTaskDetailsStatusEnum
@ -355,6 +482,12 @@ export const HouseChargeTaskDetailsStatusEnum= {
'Failed': {"text":"失败","color":"#ef4444","value":"Failed"},
};
// HouseChargeTaskDetailsTargetTypeEnum
export const HouseChargeTaskDetailsTargetTypeEnum= {
'House': {"text":"房屋","color":"#3b82f6","value":"House"},
'CarPort': {"text":"车位","color":"#f59e0b","value":"CarPort"},
};
// HouseChargeTasksStatusEnum
export const HouseChargeTasksStatusEnum= {
'Pending': {"text":"待执行","color":"#f59e0b","value":"Pending"},
@ -471,6 +604,23 @@ export const HouseOccupantsStatusEnum= {
'Unbound': {"text":"解绑","color":"#f5222d","value":"Unbound"},
};
// HouseOrderRefundsRefundStatusEnum
export const HouseOrderRefundsRefundStatusEnum= {
'Requested': {"text":"已申请","color":"#2196f3","value":"Requested"},
'Reviewing': {"text":"审核中","color":"#ff9800","value":"Reviewing"},
'Rejected': {"text":"已拒绝","color":"#f44336","value":"Rejected"},
'Processing': {"text":"退款中","color":"#9c27b0","value":"Processing"},
'Refunded': {"text":"已退款","color":"#4caf50","value":"Refunded"},
'Failed': {"text":"退款失败","color":"#e91e63","value":"Failed"},
};
// 订单审核状态枚举
export const HouseOrdersAuditStatusEnum= {
'Pending': {"text":"待审核","color":"#f59e0b","value":"Pending"},
'Approved': {"text":"已通过","color":"#10b981","value":"Approved"},
'Rejected': {"text":"已驳回","color":"#ef4444","value":"Rejected"},
};
// 订单状态枚举
export const HouseOrdersOrderStatusEnum= {
'Pending': {"text":"待支付","color":"#facc15","value":"Pending"},
@ -487,6 +637,8 @@ export const HouseOrdersPaymentMethodEnum= {
'BankTransfer': {"text":"银行转账","color":"#6c757d","value":"BankTransfer"},
'TongLian': {"text":"通联支付","color":"#ff9f0a","value":"TongLian"},
'Prepayment': {"text":"预缴支付","color":"#f59e0b","value":"Prepayment"},
'POS': {"text":"POS机","color":"#8b5cf6","value":"POS"},
'Cash': {"text":"现金","color":"#dc2626","value":"Cash"},
};
// HousePrepaymentLogsTypeEnum
@ -534,6 +686,7 @@ export const HouseRegistersTypeEnum= {
'MoveIn': {"text":"搬入登记","color":"#ffc53d","value":"MoveIn"},
'UpdateInfo': {"text":"修改信息","color":"#722ed1","value":"UpdateInfo"},
'UpdatePhone': {"text":"修改电话","color":"#13c2c2","value":"UpdatePhone"},
'GoodsRelease': {"text":"物品放行","color":"#a0d911","value":"GoodsRelease"},
};
// HouseRegistersUsagePlanEnum
@ -544,6 +697,12 @@ export const HouseRegistersUsagePlanEnum= {
'Commercial': {"text":"商用","color":"#f5222d","value":"Commercial"},
};
// HouseWorkOrdersAcceptResultEnum
export const HouseWorkOrdersAcceptResultEnum= {
'Satisfied': {"text":"满意","color":"#28A745","value":"Satisfied"},
'Unsatisfied': {"text":"不满意","color":"#DC3545","value":"Unsatisfied"},
};
// HouseWorkOrdersAssignStatusEnum
export const HouseWorkOrdersAssignStatusEnum= {
'Unassigned': {"text":"未指派","color":"#ff0000","value":"Unassigned"},
@ -572,13 +731,22 @@ export const HouseWorkOrdersLevelEnum= {
// HouseWorkOrdersLocationEnum
export const HouseWorkOrdersLocationEnum= {
'CommonArea': {"text":"公共区域","color":"#ff0000","value":"CommonArea"},
'MyHome': {"text":"我家","color":"#00ff00","value":"MyHome"},
'MyHome': {"text":"房屋","color":"#00ff00","value":"MyHome"},
};
// HouseWorkOrdersRefundStatusEnum
export const HouseWorkOrdersRefundStatusEnum= {
'Refunding': {"text":"退款中","color":"#FFA500","value":"Refunding"},
'Refunded': {"text":"已退款","color":"#28A745","value":"Refunded"},
'PartialRefund': {"text":"部分退款","color":"#17A2B8","value":"PartialRefund"},
};
// HouseWorkOrdersStatusEnum
export const HouseWorkOrdersStatusEnum= {
'Pending': {"text":"待处理","color":"#FFA500","value":"Pending"},
'Processing': {"text":"处理中","color":"#1E90FF","value":"Processing"},
'PendingPayment': {"text":"待支付","color":"#FF8C00","value":"PendingPayment"},
'PendingAcceptance': {"text":"待验收","color":"#17A2B8","value":"PendingAcceptance"},
'Completed': {"text":"已完成","color":"#28A745","value":"Completed"},
'Closed': {"text":"已关闭","color":"#6C757D","value":"Closed"},
};
@ -590,6 +758,12 @@ export const HouseWorkOrdersTypeEnum= {
'Complaint': {"text":"投诉","color":"#aa00ff","value":"Complaint"},
};
// 公告接收对象
export const MsgPropertyAnnouncementsObjectEnum= {
'Customer': {"text":"客户","color":"#3b82f6","value":"Customer"},
'Employee': {"text":"员工","color":"#10b981","value":"Employee"},
};
// MsgPropertyAnnouncementsPublishTypeEnum
export const MsgPropertyAnnouncementsPublishTypeEnum= {
'Manual': {"text":"手动","color":"#4caf50","value":"Manual"},
@ -604,6 +778,30 @@ export const OrganizationsTypeEnum= {
'Department': {"text":"部门","color":"#dc3545","value":"Department"},
};
// 退款状态枚举
export const RefundsStatusEnum= {
'Pending': {"text":"待审批","color":"#ff9800","value":"Pending"},
'Reviewing': {"text":"审核中","color":"#2196f3","value":"Reviewing"},
'Approved': {"text":"已审批","color":"#9c27b0","value":"Approved"},
'Processing': {"text":"退款中","color":"#00bcd4","value":"Processing"},
'Completed': {"text":"已退款","color":"#4caf50","value":"Completed"},
'PartialRefund': {"text":"部分退款","color":"#8bc34a","value":"PartialRefund"},
'Rejected': {"text":"已拒绝","color":"#f44336","value":"Rejected"},
'Failed': {"text":"退款失败","color":"#e91e63","value":"Failed"},
'Cancelled': {"text":"已取消","color":"#9e9e9e","value":"Cancelled"},
};
// 退款类型枚举
export const RefundsTypeEnum= {
'HouseBill': {"text":"物业费退款","color":"#2196f3","value":"HouseBill"},
'Bill': {"text":"账单退款","color":"#4caf50","value":"Bill"},
'ContractBill': {"text":"合同退款","color":"#ff9800","value":"ContractBill"},
'RenovationApply': {"text":"退保证金","color":"#86aac3ff","value":"RenovationApply"},
'HouseDoorCard': {"text":"门禁退款","color":"#9c27b0","value":"HouseDoorCard"},
'HouseWorkOrder': {"text":"工单退款","color":"#00bcd4","value":"HouseWorkOrder"},
'Other': {"text":"其他退款","color":"#607d8b","value":"Other"},
};
// 性别
export const SexEnum= {
'Male': {"text":"男","color":"#0000ff","value":"Male"},
@ -614,6 +812,7 @@ export const SexEnum= {
export const SysModuleEnum= {
'Admin': {"text":"管理员","color":"#cf1322","value":"Admin"},
'Customer': {"text":"客户","color":"#d4b106","value":"Customer"},
'Company': {"text":"机构","color":"#1890ff","value":"Company"},
};
// SysPermissionsTypeEnum
@ -623,6 +822,44 @@ export const SysPermissionsTypeEnum= {
'Button': {"text":"按钮","color":"#97224f","value":"Button"},
};
// 来访事由
export const VisitReasonEnum= {
'Visit': {"text":"拜访","color":"#2196f3","value":"Visit"},
'Business': {"text":"商务","color":"#3f51b5","value":"Business"},
'Interview': {"text":"面试","color":"#9c27b0","value":"Interview"},
'Private': {"text":"私人","color":"#e91e63","value":"Private"},
'Express': {"text":"快递","color":"#00bcd4","value":"Express"},
'Renovation': {"text":"装修","color":"#ff5722","value":"Renovation"},
'Other': {"text":"其他","color":"#607d8b","value":"Other"},
};
// 访客申请状态
export const VisitorAppliesStatusEnum= {
'Pending': {"text":"审核中","color":"#ff9800","value":"Pending"},
'Approved': {"text":"已通过","color":"#4caf50","value":"Approved"},
'Rejected': {"text":"已驳回","color":"#f44336","value":"Rejected"},
'Expired': {"text":"已失效","color":"#9e9e9e","value":"Expired"},
};
// 访客申请类型
export const VisitorApplyTypeEnum= {
'invite': {"text":"业主邀请","color":"#2196f3","value":"invite"},
'register': {"text":"访客登记","color":"#ff9800","value":"register"},
};
// 通行码状态
export const VisitorCodeStatusEnum= {
'unused': {"text":"未使用","color":"#2196f3","value":"unused"},
'used': {"text":"已使用","color":"#4caf50","value":"used"},
'expired': {"text":"已过期","color":"#f44336","value":"expired"},
};
// 访客扫码类型
export const VisitorScanTypeEnum= {
'enter': {"text":"进入","color":"#4caf50","value":"enter"},
'exit': {"text":"离开","color":"#f44336","value":"exit"},
};
// WechatAuthsPlatformEnum
export const WechatAuthsPlatformEnum= {
'MiniProgram': {"text":"微信小程序","color":"#3b82f6","value":"MiniProgram"},

View File

@ -3,7 +3,6 @@ import {
MyColumns,
MyPageContainer,
MyProTableProps,
usePageTabs,
} from '@/common';
import { Apis } from '@/gen/Apis';
import {
@ -12,7 +11,6 @@ import {
ActivitiesStatusEnum,
} from '@/gen/Enums';
import { ProTable } from '@ant-design/pro-components';
import { useNavigate } from '@umijs/max';
import { Space } from 'antd';
import ActivityCreate from './modals/ActivityCreate';
import ActivityShow from './modals/ActivityShow';
@ -20,14 +18,6 @@ import ActivityUpdate from './modals/ActivityUpdate';
import EnrollsList from './modals/EnrollsList';
export default function Index({ title = '项目活动' }) {
const navigate = useNavigate();
// 注册当前页面为标签页
usePageTabs({
tabKey: 'activity',
tabLabel: title,
});
return (
<MyPageContainer
title={title}

View File

@ -46,6 +46,12 @@ export default function Create(props: MyBetaModalFormProps) {
.catch(() => false)
}
columns={[
Selects?.Companies({
key: 'companies_id',
title: '选择机构',
colProps: { span: 24 },
required: true,
}),
...(props?.item?.id
? []
: [

View File

@ -28,22 +28,31 @@ export default function Update(props: MyBetaModalFormProps) {
form={form}
onOpenChange={(open: any) => {
if (open && props.item) {
form.setFieldsValue(props.item);
form.setFieldValue('project_ids', props.item?.project_ids[0]);
form.setFieldValue('activity_time', [
props.item?.start_time,
props.item?.end_time,
]);
form.setFieldValue('content', props.item?.content);
form.setFieldsValue({
...props.item,
activity_time: [
props.item?.start_time || '',
props.item?.end_time || '',
],
project_ids: props?.item?.activity_projects?.map(
(res: any) => res?.asset_projects_id,
),
});
// form.setFieldValue('project_ids', props.item?.project_ids[0]);
// form.setFieldValue('activity_time', [
// props.item?.start_time || '',
// props.item?.end_time || '',
// ]);
// form.setFieldValue('content', props.item?.content);
}
}}
onFinish={async (values) =>
Apis.Activity.Activities.Update({
...values,
id: props.item?.id ?? 0,
project_ids: values?.project_ids
? [values?.project_ids]
: [props.item?.id],
// project_ids: values?.project_ids
// ? [values?.project_ids]
// : [props.item?.id],
})
.then(() => {
props.reload?.();
@ -53,17 +62,35 @@ export default function Update(props: MyBetaModalFormProps) {
.catch(() => false)
}
columns={[
Selects?.Companies({
key: 'companies_id',
title: '选择机构',
colProps: { span: 24 },
required: true,
}),
Selects?.AssetProjects({
key: 'project_ids',
title: '关联项目',
colProps: { span: 24 },
required: true,
formItemProps: { ...rulesHelper.array },
fieldProps: {
showSearch: true,
mode: 'multiple',
fieldNames: {
label: 'label',
value: 'value',
},
labelRender: (res: any) => {
if (res?.label) {
return res?.label;
} else {
return props?.item?.activity_projects?.map((i: any) => {
if (res?.value === i?.asset_projects_id) {
return i?.asset_project?.name;
}
});
}
},
},
}),
{

View File

@ -8,15 +8,12 @@ import {
import { Apis } from '@/gen/Apis';
import { BannersRedirectTypeEnum, BannersTypeEnum } from '@/gen/Enums';
import { ProTable } from '@ant-design/pro-components';
import { useNavigate } from '@umijs/max';
import { Space } from 'antd';
import BannerCreate from './modals/BannerCreate';
import BannerShow from './modals/BannerShow';
import BannerUpdate from './modals/BannerUpdate';
export default function Index({ title = '内容管理' }) {
const navigate = useNavigate();
// 注册当前页面为标签页
usePageTabs({
tabKey: 'banners',

View File

@ -79,6 +79,13 @@ export default function Index({ title = '员工管理' }) {
dataIndex: ['position', 'name'],
search: false,
},
{
title: '是否管理员',
dataIndex: 'is_company_admin',
render: (_, item: any) => {
return item?.is_company_admin ? '是' : '否';
},
},
MyColumns.UpdatedAt(),
// MyColumns.CreatedAt(),
MyColumns.Option({

View File

@ -35,7 +35,7 @@ export default function Create(props: MyBetaModalFormProps) {
})
.then(() => {
props.reload?.();
message.success(props.title + '成功');
message.success('编辑成功');
return true;
})
.catch(() => false)
@ -50,7 +50,7 @@ export default function Create(props: MyBetaModalFormProps) {
colProps: { span: 24 },
required: true,
fieldProps: {
onChange: (val: any) => {
onChange: () => {
form.setFieldsValue({
organizations_id: undefined,
positions_id: undefined,
@ -59,7 +59,6 @@ export default function Create(props: MyBetaModalFormProps) {
},
}),
]),
{
valueType: 'dependency',
name: ['companies_id'],
@ -77,7 +76,6 @@ export default function Create(props: MyBetaModalFormProps) {
];
},
},
{
key: 'name',
title: '姓名',
@ -101,6 +99,14 @@ export default function Create(props: MyBetaModalFormProps) {
valueEnum: SexEnum,
required: true,
}),
{
title: '密码',
key: 'password',
formItemProps: { ...rulesHelper.text },
tooltip: '请设置机构端登录密码',
colProps: { span: 24 },
},
{
valueType: 'dependency',
name: ['companies_id'],
@ -117,13 +123,12 @@ export default function Create(props: MyBetaModalFormProps) {
];
},
},
// {
// key: 'password',
// title: '密码',
// colProps: { span: 24 },
// valueType: 'password',
// },
{
title: '是否管理员',
key: 'is_company_admin',
valueType: 'switch',
colProps: { span: 6 },
},
{
key: 'remark',
title: '备注',

View File

@ -69,6 +69,11 @@ export default function Update(props: MyBetaModalFormProps) {
valueEnum: SexEnum,
required: true,
}),
{
title: '密码',
key: 'password',
colProps: { span: 24 },
},
Selects?.Positions({
title: '岗位',
params: { companies_id: props?.item?.companies_id },
@ -76,14 +81,21 @@ export default function Update(props: MyBetaModalFormProps) {
formItemProps: { ...rulesHelper.text },
fieldProps: {
showSearch: true,
labelRender: (res: any) => {
if (res?.label) {
return res?.label;
} else {
return props?.item?.position?.name;
}
},
},
}),
// {
// key: 'password',
// title: '密码',
// colProps: { span: 24 },
// valueType: 'password',
// },
{
title: '是否管理员',
key: 'is_company_admin',
valueType: 'switch',
colProps: { span: 6 },
},
{
key: 'remark',
title: '备注',

View File

@ -3,7 +3,6 @@ import {
MyColumns,
MyPageContainer,
MyProTableProps,
usePageTabs,
} from '@/common';
import { Apis } from '@/gen/Apis';
import { ProTable } from '@ant-design/pro-components';
@ -16,12 +15,6 @@ import CompanyUpdate from './modals/CompanyUpdate';
export default function Index({ title = '机构列表' }) {
const navigate = useNavigate();
// 注册当前页面为标签页
usePageTabs({
tabKey: 'company-companies',
tabLabel: title,
});
return (
<MyPageContainer
title={title}

View File

@ -0,0 +1,357 @@
import {
MyButtons,
MyFormItems,
MyModalFormProps,
MyPageContainer,
} from '@/common';
import { Apis } from '@/gen/Apis';
import { CaretDownOutlined } from '@ant-design/icons';
import { BetaSchemaForm } from '@ant-design/pro-components';
import { useSearchParams } from '@umijs/max';
import { Card, Col, Flex, Form, message, Row, Tag } from 'antd';
import { useEffect, useState } from 'react';
import './style.scss';
interface FormData {
logo: { url: string }[];
color: string;
pageColor: string;
pageColorValue?: string[];
admin_logo?: { url: string }[];
}
export default function Index({ title = '小程序页面配置' }) {
const [form] = Form.useForm<FormData>();
const [getShowData, setShowData] = useState<any>({});
const [searchParams] = useSearchParams();
const [formValues, setFormValues] = useState<FormData>({
logo: [],
admin_logo: [],
color: '#1890ff',
// pageColor: `linear-gradient(180deg,rgba(255, 255, 255, 0.44) 0%,rgba(255, 255, 255, 0) 100%),linear-gradient(146deg,#d3d7ff 0%,rgba(255, 255, 255, 0) 37%),linear-gradient(194deg,#dffff3 0%,#f8f8f8 30%)`,
pageColor: `linear-gradient(180deg, rgba(208, 229, 255, 0.44) 0%, #f7f7f7 100%, rgba(255, 255, 255, 0) 100%), linear-gradient(145deg, #D3D7FF 3%, rgba(255, 255, 255, 0) 49%), linear-gradient(222deg, #84FFD8 0%, #F7F7F7 67%)`,
});
const GET_DEFAULT_COLOR = [
{
color: '#d3d7ff',
percent: 0,
},
{
color: '#dffff3',
percent: 100,
},
];
// 处理表单值变化,用于实时预览
const handleValuesChange = (row: FormData) => {
console.log('row', row);
let data: ApiTypes.Company.CompanyConfigs.Store = {
companies_id: Number(searchParams.get('id')) || 0,
config_key: 'Theme',
config_value: {
color: formValues?.color,
pageColor: formValues?.pageColor,
logo: row?.logo || formValues?.logo,
pageColorValue: formValues?.pageColorValue,
admin_logo: row?.admin_logo,
},
};
console.log(data);
if (getShowData?.id) {
Apis.Company.CompanyConfigs.Update({
...data,
id: getShowData?.id || 0,
}).then(() => {
message.success('保存成功');
});
} else {
Apis.Company.CompanyConfigs.Store(data).then(() => {
message.success('保存成功');
});
}
};
useEffect(() => {
if (searchParams.get('id')) {
Apis.Company.CompanyConfigs.GetDetail({
companies_id: searchParams.get('id') ?? 0,
config_key: 'Theme',
}).then((res: any) => {
console.log('res', res);
let cssStrColor =
res?.data?.config_value?.pageColorValue?.[0] || '#d3d7ff';
let cssEndColor =
res?.data?.config_value?.pageColorValue?.[1] || '#dffff3';
setShowData(res?.data);
let newCss = `linear-gradient(180deg,rgba(208, 229, 255, 0.44) 0%,#f7f7f7 100%,rgba(255, 255, 255, 0) 100%),linear-gradient(145deg, ${cssStrColor} 3%,rgba(255, 255, 255, 0) 49%),linear-gradient(222deg, ${cssEndColor} 0%,#F7F7F7 67%)`;
setFormValues({
...res?.data?.config_value,
pageColor: newCss,
});
console.log('newCss', newCss);
form.setFieldsValue({
...res?.data?.config_value,
pageColorOtherValue: [
{
color: cssStrColor || '',
percent: 0,
},
{
color: cssEndColor || '',
percent: 100,
},
],
});
console.log('res', res);
});
}
}, [searchParams.get('id')]);
return (
<MyPageContainer
title={title}
enableTabs={true}
tabKey="company-set-page-info"
tabLabel={title}
>
<div className="page-config-container">
<Row gutter={[24, 0]}>
{/* 左侧表单区域 */}
<Col span={12}>
<Card title="页面配置" className="form-card">
<BetaSchemaForm<ApiTypes.Company.CompanyConfigs.Store>
{...MyModalFormProps.props}
title={title}
// 基础表单
layoutType="Form"
width="800px"
wrapperCol={{ span: 24 }}
labelAlign="left"
form={form}
submitter={{
render: () => {
return [
<div
key="submitter"
style={{
display: 'flex',
paddingTop: '50px',
justifyContent: 'flex-end',
}}
>
<MyButtons.Default
key="TemporaryStorage"
size="middle"
type="primary"
onClick={() => {
handleValuesChange(form.getFieldsValue());
}}
title="保存"
/>
</div>,
];
},
}}
onFinish={async () => {
// onSave(values);
}}
columns={[
MyFormItems.UploadImages({
key: 'logo',
title: (
<div>
Logo
<span style={{ fontSize: '12px', color: '#999' }}>
(480*480png格式的Logo)
</span>
</div>
),
max: 1,
colProps: { span: 24 },
fieldProps: {
onChange: (val: { url: string }[]) => {
setFormValues({ ...formValues, logo: val });
},
},
}),
MyFormItems.UploadImages({
key: 'admin_logo',
title: (
<div>
Logo
<span style={{ fontSize: '12px', color: '#999' }}>
(jpgpng格式的Logo)
</span>
</div>
),
max: 1,
colProps: { span: 24 },
}),
{
title: (
<div>
<span style={{ fontSize: '12px', color: '#999' }}>
()
</span>
</div>
),
colProps: { span: 24 },
valueType: 'color',
key: 'color',
fieldProps: {
showText: true,
defaultValue: formValues?.color || '#1890ff',
format: 'rgb',
onChange: (value: any, css: string) => {
console.log('value', value, css);
setFormValues({ ...formValues, color: css });
},
},
},
{
title: (
<div>
<span style={{ fontSize: '12px', color: '#999' }}>
()
</span>
</div>
),
key: 'pageColorOtherValue',
colProps: { span: 24 },
valueType: 'color',
fieldProps: {
defaultValue: GET_DEFAULT_COLOR,
mode: 'gradient',
arrow: true,
color: 'toRgb',
format: 'rgb',
showText: true,
onChange: (value: any, css: any) => {
console.log('value', value, css);
let cssStrColor = value?.colors
? value?.colors?.[0]?.color?.metaColor
: value;
let cssEndColor = value?.colors
? value?.colors?.[1]?.color?.metaColor
: value;
// let newCss = `linear-gradient(180deg,rgba(255, 255, 255, 0.44) 0%,rgba(255, 255, 255, 0) 100%),linear-gradient(146deg, rgba(${cssStrColor?.r}, ${cssStrColor?.g}, ${cssStrColor?.b},${cssStrColor?.a}) 0%, rgba(255, 255, 255, 0) 37%),linear-gradient(194deg, rgba(${cssEndColor?.r}, ${cssEndColor?.g}, ${cssEndColor?.b},${cssEndColor?.a}) 0%, #f8f8f8 30%)`;
let newCss = `linear-gradient(180deg, rgba(208, 229, 255, 0.44) 50%, #f7f7f7 100%, rgba(255, 255, 255, 0) 100%), linear-gradient(145deg, rgba(${cssStrColor?.r}, ${cssStrColor?.g}, ${cssStrColor?.b},${cssStrColor?.a}) 3%, rgba(255, 255, 255, 0) 49%), linear-gradient(222deg, rgba(${cssEndColor?.r}, ${cssEndColor?.g}, ${cssEndColor?.b},${cssEndColor?.a}) 0%, #F7F7F7 67%)`;
setFormValues({
...formValues,
pageColor: newCss,
pageColorValue: [
`rgba(${cssStrColor?.r}, ${cssStrColor?.g}, ${cssStrColor?.b},${cssStrColor?.a})`,
`rgba(${cssEndColor?.r}, ${cssEndColor?.g}, ${cssEndColor?.b},${cssEndColor?.a})`,
],
});
},
},
},
]}
/>
</Card>
</Col>
{/* 右侧手机预览区域 */}
<Col span={12}>
<Card title="实时预览" className="preview-card">
<div className="phone-frame">
<div className="phone-screen">
{/* 手机顶部状态栏 */}
<div className="phone-status-bar">
<div className="status-left">9:41</div>
<div className="status-right"> </div>
</div>
{/* 页面内容 */}
<div
className="phone-content"
style={{
background: formValues?.pageColor,
backgroundRepeat: 'no-repeat',
}}
>
<div className="page-title">
{formValues?.logo?.[0] && (
<img
src={formValues?.logo?.[0]?.url}
width="24"
height="24"
style={{ marginRight: 8 }}
alt=""
/>
)}
112102 <CaretDownOutlined />
</div>
<div className="tab-content">
<Flex vertical gap="large">
<Flex gap="small" wrap>
<div
className="phone-button"
style={{
backgroundColor: formValues?.color,
}}
>
</div>
<div
className="phone-button"
style={{
border: `1px solid ${formValues?.color}`,
color: formValues?.color,
}}
>
</div>
<div
className="phone-button"
style={{
color: formValues?.color,
}}
>
</div>
</Flex>
<Flex gap="small" wrap>
<Tag color={formValues?.color}></Tag>
<Tag color={formValues?.color}></Tag>
<Tag color={formValues?.color}></Tag>
</Flex>
<div className="tabs-content">
<div
className="tab-item"
style={{
backgroundColor: formValues?.color,
color: '#fff',
}}
>
tab 1
</div>
<div className="tab-item">tab 2</div>
<div className="tab-item">tab 3</div>
</div>
<div className="tabs-content">
<div
className="tab-item"
style={{
borderBottom: `5px solid ${formValues?.color}`,
}}
>
tab 1
</div>
<div className="tab-item">tab 2</div>
<div className="tab-item">tab 3</div>
</div>
</Flex>
</div>
</div>
</div>
</div>
</Card>
</Col>
</Row>
</div>
</MyPageContainer>
);
}

View File

@ -0,0 +1,198 @@
.page-config-container {
padding: 20px;
min-height: calc(100vh - 160px);
}
.form-card {
height: 100%;
overflow-y: auto;
.page-config-form {
.ant-form-item {
margin-bottom: 16px;
}
}
}
.preview-card {
height: 100%;
display: flex;
flex-direction: column;
.ant-card-body {
flex: 1;
display: flex;
justify-content: center;
align-items: center;
padding: 20px;
}
}
.phone-frame {
width: 375px;
height: 812px;
border: 10px solid #333;
border-radius: 40px;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
overflow: hidden;
position: relative;
background-color: #000;
// 手机顶部听筒
&::before {
content: '';
position: absolute;
top: 20px;
left: 50%;
transform: translateX(-50%);
width: 60px;
height: 5px;
background-color: #222;
border-radius: 3px;
z-index: 1;
}
// 手机底部home键
&::after {
content: '';
position: absolute;
bottom: 10px;
left: 50%;
transform: translateX(-50%);
width: 50px;
height: 50px;
border: 2px solid #333;
border-radius: 50%;
z-index: 1;
}
}
.phone-screen {
width: 100%;
height: 100%;
background-color: #f8f8f8;
background-size: cover;
background-position: center;
background-repeat: no-repeat;
position: relative;
overflow-y: auto;
font-size: 14px;
color: #333;
// 滚动条样式
&::-webkit-scrollbar {
width: 4px;
}
&::-webkit-scrollbar-track {
background: rgba(0, 0, 0, 0.1);
}
&::-webkit-scrollbar-thumb {
background: rgba(0, 0, 0, 0.3);
border-radius: 2px;
}
}
.phone-status-bar {
height: 44px;
background-color: rgba(0, 0, 0, 0.8);
color: #fff;
display: flex;
justify-content: space-between;
align-items: center;
padding: 0 16px;
font-size: 12px;
position: sticky;
top: 0;
z-index: 100;
}
.phone-header {
background-color: #1890ff;
color: #fff;
padding: 16px;
text-align: center;
}
.phone-content {
padding: 20px;
height: 300px;
// min-height: calc(100% - 120px);
background: linear-gradient(
180deg,
rgba(208, 229, 255, 0.44) 0%,
rgba(255, 255, 255, 0) 100%
),
linear-gradient(146deg, #d3d7ff 0%, rgba(255, 255, 255, 0) 37%),
linear-gradient(194deg, #dffff3 0%, #ffffff 30%);
p {
margin: 0 0 16px 0;
line-height: 1.6;
}
.page-type-indicator {
background-color: #f0f0f0;
padding: 8px;
border-radius: 4px;
font-size: 12px;
color: #666;
margin-top: 20px;
}
.page-title {
margin: 0;
font-size: 14px;
font-weight: bold;
display: flex;
align-items: center;
img {
width: 24px;
height: 24px;
margin-right: 8px;
}
}
.tab-content {
padding: 15px 0 0 0;
}
.phone-button {
padding: 4px 12px;
border-radius: 4px;
color: #fff;
}
.tabs-content {
display: flex;
align-items: center;
.tab-item {
padding: 5px 15px;
border-radius: 4px;
margin-right: 10px;
color: #333;
cursor: pointer;
}
}
}
.phone-footer {
background-color: #f5f5f5;
color: #666;
padding: 12px;
text-align: center;
font-size: 12px;
border-top: 1px solid #e8e8e8;
position: sticky;
bottom: 0;
}
@media (max-width: 1200px) {
.page-config-container {
.ant-row {
.ant-col {
&[span='12'] {
width: 100%;
margin-bottom: 20px;
}
}
}
}
}

View File

@ -10,10 +10,12 @@ import CompanyUpdate from '../modals/CompanyUpdate';
import CompanyApps from '../table/Apps';
import Assets from '../table/Assets';
import Brands from '../table/Brands';
import CustomerEnd from '../table/CustomerEnd';
import Employees from '../table/Employees';
import Organizations from '../table/Organizations';
import Positions from '../table/Positions';
import ReceiptAccounts from '../table/ReceiptAccounts';
import Roles from '../table/Roles';
export default function Show({ title }: { title?: string } = {}) {
const { id } = useParams<{ id: string }>();
@ -44,49 +46,60 @@ export default function Show({ title }: { title?: string } = {}) {
let items = [
{
label: '1-应用配置',
label: '项目配置',
key: '1',
closable: false,
children: <CompanyApps item={data} />,
},
{
label: '2-组织配置',
label: '组织配置',
key: '2',
closable: false,
children: <Organizations item={data} />,
},
{
label: '3-岗位配置',
label: '岗位配置',
key: '3',
closable: false,
children: <Positions item={data} />,
},
{
label: '4-员工管理',
label: '员工配置',
key: '4',
closable: false,
children: <Employees item={data} />,
},
{
label: '5-收款账号添加',
label: '账号配置',
key: '5',
closable: false,
children: <ReceiptAccounts item={data} />,
},
{
label: '6-品牌配置',
label: '应用配置',
key: '6',
closable: false,
children: <Brands item={data} />,
},
{
label: '7-项目配置',
label: '品牌配置',
key: '7',
closable: false,
children: <Assets item={data} />,
},
{
label: '权限配置',
key: '8',
closable: false,
children: <Roles item={data} />,
},
{
label: '客户端配置',
key: '9',
closable: false,
children: <CustomerEnd item={data} />,
},
];
return (
<MyPageContainer title={title}>
@ -105,7 +118,7 @@ export default function Show({ title }: { title?: string } = {}) {
}
>
<div></div>
<div>
<div style={{ padding: '0 0 10px 0' }}>
<span>

View File

@ -0,0 +1,58 @@
import { MyBetaModalFormProps, MyButtons } from '@/common';
import { ProCard } from '@ant-design/pro-components';
import { useNavigate } from '@umijs/max';
export default function CustomerEnd(props: MyBetaModalFormProps) {
const navigate = useNavigate();
return (
<div>
<ProCard title="客户端小程序配置" bordered headerBordered gutter={16}>
<ProCard
title="品牌主色、全局渐变色配置"
type="inner"
bordered
extra={
<MyButtons.Default
title="去配置"
type="primary"
size="small"
onClick={() => {
navigate(
`/company/list/pages/set_page_info?id=${props?.item?.id}`,
);
}}
/>
}
>
<div style={{ height: '80px' }}>
</div>
</ProCard>
<ProCard
title="金刚区图标配置"
type="inner"
bordered
extra={
<MyButtons.Default title="去配置" type="primary" size="small" />
}
>
<div style={{ height: '80px' }}>
</div>
</ProCard>
<ProCard
title="小程序首屏底部菜单图标"
type="inner"
bordered
extra={
<MyButtons.Default title="去配置" type="primary" size="small" />
}
>
<div style={{ height: '80px' }}>
png格式图标
</div>
</ProCard>
</ProCard>
</div>
);
}

View File

@ -0,0 +1,90 @@
import { MyBetaModalFormProps, MyButtons } from '@/common';
import { Apis } from '@/gen/Apis';
import { ProCard } from '@ant-design/pro-components';
import { message, Space, Tree, TreeProps } from 'antd';
import { DataNode } from 'antd/es/tree';
import { useEffect, useState } from 'react';
export default function Index(props: MyBetaModalFormProps) {
const [treeData, setTreeData] = useState<DataNode[]>([]);
const [checkedKeys, setCheckedKeys] = useState<string[]>([]);
const processTree = (item: any): DataNode => {
return {
...item,
key: item.id,
title: item.id + '_' + item.name,
children: item.children?.map(processTree),
};
};
const getPermissions = () => {
//获取已经配置的,菜单
Apis.Company.CompanyPermissions.GetPermissions({
companies_id: props?.item?.id || 0,
}).then((res: any) => {
console.log('res', res);
setCheckedKeys(res?.data?.permissions_ids);
});
};
const getPermissionTree = () => {
//获取机构可配置菜单
Apis.Company.CompanyPermissions.PermissionTree().then((res: any) => {
const data = res.data?.map(processTree);
setTreeData(data);
getPermissions();
});
};
useEffect(() => {
getPermissionTree();
}, []);
const onCheck: TreeProps['onCheck'] = (checkedKeys, info) => {
console.log('onCheck', checkedKeys, info);
const ids: string[] = [];
info.checkedNodes?.forEach((item: DataNode) => {
if (item.children?.length === 0) {
ids.push(item.key as string);
}
});
console.log('ids', ids);
setCheckedKeys(ids);
// props.onChange?.(ids);
};
return (treeData?.length ?? 0) > 0 ? (
<ProCard
extra={[
<MyButtons.Default
title="保存"
size="middle"
type="primary"
key="save"
onClick={() => {
Apis.Company.CompanyPermissions.SetPermissions({
companies_id: props?.item?.id || 0,
permissions_ids: checkedKeys || [],
}).then(() => {
message.success('保存成功');
});
}}
/>,
]}
>
<Space direction="vertical">
<Tree
checkable
defaultExpandAll
treeData={treeData}
onCheck={onCheck}
checkedKeys={checkedKeys || []}
{...props}
/>
</Space>
</ProCard>
) : (
<></>
);
}

View File

@ -3,7 +3,6 @@ import {
MyColumns,
MyPageContainer,
MyProTableProps,
usePageTabs,
} from '@/common';
import MyEnumRadioGroup from '@/common/components/formFields/MyEnumRadioGroup';
import { Apis } from '@/gen/Apis';
@ -20,12 +19,6 @@ export default function Index({ title = '功能' }) {
const actionRef = useRef<ActionType>();
const [guardName, setGuardName] = useState<string>('Admin');
// 注册当前页面为标签页
usePageTabs({
tabKey: 'system-permissions',
tabLabel: title,
});
const getData = async () => {
let data = await Apis.Permission.SysPermissions.List({
guard_name: guardName,

View File

@ -24,15 +24,24 @@ export default function WorkOrderAssign(
trigger={<MyButtons.Edit title={`派发`} />}
key={new Date().getTime()}
form={form}
request={async () => {
const res = await Apis.WorkOrder.HouseWorkOrders.Show({
id: props.item.id,
});
return {
title: res.data.title,
assign_employee_id: res.data.assign_employee_id,
};
onOpenChange={(open: any) => {
if (open && props.item) {
form.setFieldsValue({
title: props?.item?.title,
content: props?.item?.content,
assign_employee_id: props?.item?.assign_employee_id,
});
}
}}
// request={async () => {
// const res = await Apis.WorkOrder.HouseWorkOrders.Show({
// id: props.item.id,
// });
// return {
// title: res.data.title,
// assign_employee_id: res.data.assign_employee_id,
// };
// }}
onFinish={async (values) =>
Apis.WorkOrder.HouseWorkOrders.Assign({
...values,