From ba265470a7a7d381c03cd7c8c0b7f9d8d3adbf74 Mon Sep 17 00:00:00 2001 From: LiuJiaNan <15703339975@163.com> Date: Fri, 3 Apr 2026 17:35:22 +0800 Subject: [PATCH] init --- .editorconfig | 13 + .gitignore | 14 + .vscode/settings.json | 47 +++ README.md | 75 +++++ blessed_by_buddha.js | 66 ++++ eslint.config.js | 49 +++ jjb.babel.js | 23 ++ jjb.config.js | 77 +++++ jsconfig.json | 10 + package.json | 47 +++ public/index.html | 54 ++++ router.md | 62 ++++ src/api/closedCardPort/index.js | 26 ++ .../index.js | 26 ++ src/api/drainageWell/index.js | 26 ++ src/api/emergencyAddressBook/index.js | 46 +++ src/api/emergencyEquipment/index.js | 26 ++ src/api/emergencyRescueTeam/index.js | 26 ++ src/api/emergencyShelter/index.js | 26 ++ .../enterpriseEmergencyOrganization/index.js | 30 ++ src/api/enterpriseEmergencyPersonnel/index.js | 26 ++ src/api/expertEmergencyRescueExpert/index.js | 26 ++ .../expertEmergencyRescueExpertGroup/index.js | 42 +++ src/api/expertEmergencyRescueTeam/index.js | 50 ++++ src/api/global/index.js | 8 + src/api/materialEquipment/index.js | 98 ++++++ src/api/medicalGuaranteeOrganization/index.js | 26 ++ src/api/statistics/index.js | 54 ++++ .../index.js | 26 ++ .../transportGuaranteeOrganization/index.js | 26 ++ src/components/index.js | 1 + src/enumerate/constant/index.js | 5 + src/enumerate/context/index.js | 8 + src/enumerate/namespace/index.js | 24 ++ src/main.js | 49 +++ .../EmergencyAddressBook/List/index.js | 203 +++++++++++++ .../EmergencyAddressBook/Member/List/index.js | 282 ++++++++++++++++++ .../EmergencyAddressBook/Member/index.js | 5 + .../EmergencyAddressBook/index.js | 5 + .../ExpertEmergencyRescueExpert/Add/index.js | 89 ++++++ .../ExpertEmergencyRescueExpert/List/index.js | 139 +++++++++ .../ExpertEmergencyRescueExpert/View/index.js | 71 +++++ .../ExpertEmergencyRescueExpert/index.js | 5 + .../Add/index.js | 74 +++++ .../List/index.js | 146 +++++++++ .../Member/List/index.js | 208 +++++++++++++ .../Member/index.js | 5 + .../View/index.js | 58 ++++ .../ExpertEmergencyRescueExpertGroup/index.js | 5 + .../ExpertEmergencyRescueTeam/Add/index.js | 101 +++++++ .../EmergencyRescuePersonnel/Add/index.js | 62 ++++ .../EmergencyRescuePersonnel/List/index.js | 151 ++++++++++ .../EmergencyRescuePersonnel/View/index.js | 46 +++ .../EmergencyRescuePersonnel/index.js | 5 + .../ExpertEmergencyRescueTeam/List/index.js | 149 +++++++++ .../ExpertEmergencyRescueTeam/View/index.js | 72 +++++ .../ExpertEmergencyRescueTeam/index.js | 5 + .../EmergencyExpertTeam/index.js | 5 + .../Add/index.js | 67 +++++ .../List/index.js | 150 ++++++++++ .../Personnel/List/index.js | 32 ++ .../Personnel/index.js | 5 + .../View/index.js | 46 +++ .../EnterpriseEmergencyOrganization/index.js | 5 + .../EnterpriseEmergencyPersonnel/Add/index.js | 92 ++++++ .../List/index.js | 140 +++++++++ .../View/index.js | 45 +++ .../EnterpriseEmergencyPersonnel/index.js | 5 + .../EmergencyManagementOrganization/index.js | 5 + .../EmergencyRescueTeam/Add/index.js | 71 +++++ .../EmergencyRescueTeam/List/index.js | 140 +++++++++ .../EmergencyRescueTeam/View/index.js | 56 ++++ .../EmergencyRescueTeam/index.js | 5 + .../Add/index.js | 95 ++++++ .../List/index.js | 139 +++++++++ .../View/index.js | 66 ++++ .../index.js | 5 + .../MedicalGuaranteeOrganization/Add/index.js | 95 ++++++ .../List/index.js | 142 +++++++++ .../View/index.js | 66 ++++ .../MedicalGuaranteeOrganization/index.js | 5 + .../Add/index.js | 66 ++++ .../List/index.js | 140 +++++++++ .../View/index.js | 50 ++++ .../index.js | 5 + .../Add/index.js | 92 ++++++ .../List/index.js | 139 +++++++++ .../View/index.js | 63 ++++ .../TransportGuaranteeOrganization/index.js | 5 + .../index.js | 5 + .../Enterprise/EmergencyOrganization/index.js | 5 + .../ClosedCardPort/Add/index.js | 58 ++++ .../ClosedCardPort/List/index.js | 138 +++++++++ .../ClosedCardPort/View/index.js | 44 +++ .../EmergencyResource/ClosedCardPort/index.js | 5 + .../DrainageWell/Add/index.js | 58 ++++ .../DrainageWell/List/index.js | 141 +++++++++ .../DrainageWell/View/index.js | 44 +++ .../EmergencyResource/DrainageWell/index.js | 5 + .../EmergencyEquipment/Add/index.js | 62 ++++ .../EmergencyEquipment/List/index.js | 140 +++++++++ .../EmergencyEquipment/View/index.js | 47 +++ .../EmergencyEquipment/index.js | 5 + .../EmergencyShelter/Add/index.js | 79 +++++ .../EmergencyShelter/List/index.js | 138 +++++++++ .../EmergencyShelter/View/index.js | 48 +++ .../EmergencyShelter/index.js | 5 + .../MaterialEquipment/Add/index.js | 61 ++++ .../FacilitiesEquipment/Add/index.js | 107 +++++++ .../FacilitiesEquipment/List/index.js | 145 +++++++++ .../FacilitiesEquipment/View/index.js | 52 ++++ .../FacilitiesEquipment/index.js | 5 + .../MaterialEquipment/List/index.js | 166 +++++++++++ .../MaterialEquipment/Material/Add/index.js | 82 +++++ .../MaterialEquipment/Material/List/index.js | 143 +++++++++ .../MaterialEquipment/Material/View/index.js | 46 +++ .../MaterialEquipment/Material/index.js | 5 + .../RescueEquipment/Add/index.js | 82 +++++ .../RescueEquipment/List/index.js | 146 +++++++++ .../RescueEquipment/View/index.js | 46 +++ .../RescueEquipment/index.js | 5 + .../MaterialEquipment/View/index.js | 47 +++ .../MaterialEquipment/index.js | 5 + .../Enterprise/EmergencyResource/index.js | 5 + src/pages/Container/Enterprise/index.js | 5 + src/pages/Container/Entry/index.js | 31 ++ .../EmergencyAddressBook/List/index.js | 43 +++ .../EmergencyAddressBook/index.js | 5 + .../EmergencyExpertTeam/List/index.js | 50 ++++ .../EmergencyExpertTeam/index.js | 5 + .../EmergencyOrganization/List/index.js | 45 +++ .../EmergencyOrganization/index.js | 5 + .../EmergencyRescueTeam/List/index.js | 40 +++ .../EmergencyRescueTeam/index.js | 5 + .../List/index.js | 55 ++++ .../index.js | 5 + .../EmergencyOrganization/index.js | 5 + .../EmergencyEvent/EventReport/List/index.js | 44 +++ .../EmergencyEvent/EventReport/index.js | 5 + .../EmergencyRescue/EmergencyEvent/index.js | 5 + .../EmergencyKnowledgeLibrary/List/index.js | 55 ++++ .../EmergencyKnowledgeLibrary/index.js | 5 + .../EmergencyKnowledge/index.js | 5 + .../EmergencyKnowledgeLibrary/index.js | 5 + .../List/index.js | 44 +++ .../DutyLogAndSchedulingRegistration/index.js | 5 + .../EmergencyRescue/EnterpriseDuty/index.js | 5 + .../EmergencyRescue/Rescue/List/index.js | 40 +++ .../EmergencyRescue/Rescue/index.js | 5 + .../Supervision/EmergencyRescue/index.js | 5 + .../EmergencyResource/List/index.js | 65 ++++ .../EmergencyResource/index.js | 5 + .../Supervision/EmergencyResource/index.js | 5 + .../EmergencyExercise/List/index.js | 40 +++ .../PlanAndDrill/EmergencyExercise/index.js | 5 + .../PlanAndDrill/EmergencyPlan/List/index.js | 40 +++ .../PlanAndDrill/EmergencyPlan/index.js | 5 + .../PlanAndDrill/EnterprisePlan/List/index.js | 40 +++ .../PlanAndDrill/EnterprisePlan/index.js | 5 + .../Supervision/PlanAndDrill/index.js | 5 + src/pages/Container/Supervision/index.js | 5 + src/pages/Container/index.js | 101 +++++++ src/pages/index.js | 8 + webstorm.config.js | 16 + 164 files changed, 8213 insertions(+) create mode 100644 .editorconfig create mode 100644 .gitignore create mode 100644 .vscode/settings.json create mode 100644 README.md create mode 100644 blessed_by_buddha.js create mode 100644 eslint.config.js create mode 100644 jjb.babel.js create mode 100644 jjb.config.js create mode 100644 jsconfig.json create mode 100644 package.json create mode 100644 public/index.html create mode 100644 router.md create mode 100644 src/api/closedCardPort/index.js create mode 100644 src/api/communicationGuaranteeOrganization/index.js create mode 100644 src/api/drainageWell/index.js create mode 100644 src/api/emergencyAddressBook/index.js create mode 100644 src/api/emergencyEquipment/index.js create mode 100644 src/api/emergencyRescueTeam/index.js create mode 100644 src/api/emergencyShelter/index.js create mode 100644 src/api/enterpriseEmergencyOrganization/index.js create mode 100644 src/api/enterpriseEmergencyPersonnel/index.js create mode 100644 src/api/expertEmergencyRescueExpert/index.js create mode 100644 src/api/expertEmergencyRescueExpertGroup/index.js create mode 100644 src/api/expertEmergencyRescueTeam/index.js create mode 100644 src/api/global/index.js create mode 100644 src/api/materialEquipment/index.js create mode 100644 src/api/medicalGuaranteeOrganization/index.js create mode 100644 src/api/statistics/index.js create mode 100644 src/api/technicalSupportGuaranteeOrganization/index.js create mode 100644 src/api/transportGuaranteeOrganization/index.js create mode 100644 src/components/index.js create mode 100644 src/enumerate/constant/index.js create mode 100644 src/enumerate/context/index.js create mode 100644 src/enumerate/namespace/index.js create mode 100644 src/main.js create mode 100644 src/pages/Container/Enterprise/EmergencyOrganization/EmergencyAddressBook/List/index.js create mode 100644 src/pages/Container/Enterprise/EmergencyOrganization/EmergencyAddressBook/Member/List/index.js create mode 100644 src/pages/Container/Enterprise/EmergencyOrganization/EmergencyAddressBook/Member/index.js create mode 100644 src/pages/Container/Enterprise/EmergencyOrganization/EmergencyAddressBook/index.js create mode 100644 src/pages/Container/Enterprise/EmergencyOrganization/EmergencyExpertTeam/ExpertEmergencyRescueExpert/Add/index.js create mode 100644 src/pages/Container/Enterprise/EmergencyOrganization/EmergencyExpertTeam/ExpertEmergencyRescueExpert/List/index.js create mode 100644 src/pages/Container/Enterprise/EmergencyOrganization/EmergencyExpertTeam/ExpertEmergencyRescueExpert/View/index.js create mode 100644 src/pages/Container/Enterprise/EmergencyOrganization/EmergencyExpertTeam/ExpertEmergencyRescueExpert/index.js create mode 100644 src/pages/Container/Enterprise/EmergencyOrganization/EmergencyExpertTeam/ExpertEmergencyRescueExpertGroup/Add/index.js create mode 100644 src/pages/Container/Enterprise/EmergencyOrganization/EmergencyExpertTeam/ExpertEmergencyRescueExpertGroup/List/index.js create mode 100644 src/pages/Container/Enterprise/EmergencyOrganization/EmergencyExpertTeam/ExpertEmergencyRescueExpertGroup/Member/List/index.js create mode 100644 src/pages/Container/Enterprise/EmergencyOrganization/EmergencyExpertTeam/ExpertEmergencyRescueExpertGroup/Member/index.js create mode 100644 src/pages/Container/Enterprise/EmergencyOrganization/EmergencyExpertTeam/ExpertEmergencyRescueExpertGroup/View/index.js create mode 100644 src/pages/Container/Enterprise/EmergencyOrganization/EmergencyExpertTeam/ExpertEmergencyRescueExpertGroup/index.js create mode 100644 src/pages/Container/Enterprise/EmergencyOrganization/EmergencyExpertTeam/ExpertEmergencyRescueTeam/Add/index.js create mode 100644 src/pages/Container/Enterprise/EmergencyOrganization/EmergencyExpertTeam/ExpertEmergencyRescueTeam/EmergencyRescuePersonnel/Add/index.js create mode 100644 src/pages/Container/Enterprise/EmergencyOrganization/EmergencyExpertTeam/ExpertEmergencyRescueTeam/EmergencyRescuePersonnel/List/index.js create mode 100644 src/pages/Container/Enterprise/EmergencyOrganization/EmergencyExpertTeam/ExpertEmergencyRescueTeam/EmergencyRescuePersonnel/View/index.js create mode 100644 src/pages/Container/Enterprise/EmergencyOrganization/EmergencyExpertTeam/ExpertEmergencyRescueTeam/EmergencyRescuePersonnel/index.js create mode 100644 src/pages/Container/Enterprise/EmergencyOrganization/EmergencyExpertTeam/ExpertEmergencyRescueTeam/List/index.js create mode 100644 src/pages/Container/Enterprise/EmergencyOrganization/EmergencyExpertTeam/ExpertEmergencyRescueTeam/View/index.js create mode 100644 src/pages/Container/Enterprise/EmergencyOrganization/EmergencyExpertTeam/ExpertEmergencyRescueTeam/index.js create mode 100644 src/pages/Container/Enterprise/EmergencyOrganization/EmergencyExpertTeam/index.js create mode 100644 src/pages/Container/Enterprise/EmergencyOrganization/EmergencyManagementOrganization/EnterpriseEmergencyOrganization/Add/index.js create mode 100644 src/pages/Container/Enterprise/EmergencyOrganization/EmergencyManagementOrganization/EnterpriseEmergencyOrganization/List/index.js create mode 100644 src/pages/Container/Enterprise/EmergencyOrganization/EmergencyManagementOrganization/EnterpriseEmergencyOrganization/Personnel/List/index.js create mode 100644 src/pages/Container/Enterprise/EmergencyOrganization/EmergencyManagementOrganization/EnterpriseEmergencyOrganization/Personnel/index.js create mode 100644 src/pages/Container/Enterprise/EmergencyOrganization/EmergencyManagementOrganization/EnterpriseEmergencyOrganization/View/index.js create mode 100644 src/pages/Container/Enterprise/EmergencyOrganization/EmergencyManagementOrganization/EnterpriseEmergencyOrganization/index.js create mode 100644 src/pages/Container/Enterprise/EmergencyOrganization/EmergencyManagementOrganization/EnterpriseEmergencyPersonnel/Add/index.js create mode 100644 src/pages/Container/Enterprise/EmergencyOrganization/EmergencyManagementOrganization/EnterpriseEmergencyPersonnel/List/index.js create mode 100644 src/pages/Container/Enterprise/EmergencyOrganization/EmergencyManagementOrganization/EnterpriseEmergencyPersonnel/View/index.js create mode 100644 src/pages/Container/Enterprise/EmergencyOrganization/EmergencyManagementOrganization/EnterpriseEmergencyPersonnel/index.js create mode 100644 src/pages/Container/Enterprise/EmergencyOrganization/EmergencyManagementOrganization/index.js create mode 100644 src/pages/Container/Enterprise/EmergencyOrganization/EmergencyRescueTeam/Add/index.js create mode 100644 src/pages/Container/Enterprise/EmergencyOrganization/EmergencyRescueTeam/List/index.js create mode 100644 src/pages/Container/Enterprise/EmergencyOrganization/EmergencyRescueTeam/View/index.js create mode 100644 src/pages/Container/Enterprise/EmergencyOrganization/EmergencyRescueTeam/index.js create mode 100644 src/pages/Container/Enterprise/EmergencyOrganization/ProfessionalGuaranteeOrganization/CommunicationGuaranteeOrganization/Add/index.js create mode 100644 src/pages/Container/Enterprise/EmergencyOrganization/ProfessionalGuaranteeOrganization/CommunicationGuaranteeOrganization/List/index.js create mode 100644 src/pages/Container/Enterprise/EmergencyOrganization/ProfessionalGuaranteeOrganization/CommunicationGuaranteeOrganization/View/index.js create mode 100644 src/pages/Container/Enterprise/EmergencyOrganization/ProfessionalGuaranteeOrganization/CommunicationGuaranteeOrganization/index.js create mode 100644 src/pages/Container/Enterprise/EmergencyOrganization/ProfessionalGuaranteeOrganization/MedicalGuaranteeOrganization/Add/index.js create mode 100644 src/pages/Container/Enterprise/EmergencyOrganization/ProfessionalGuaranteeOrganization/MedicalGuaranteeOrganization/List/index.js create mode 100644 src/pages/Container/Enterprise/EmergencyOrganization/ProfessionalGuaranteeOrganization/MedicalGuaranteeOrganization/View/index.js create mode 100644 src/pages/Container/Enterprise/EmergencyOrganization/ProfessionalGuaranteeOrganization/MedicalGuaranteeOrganization/index.js create mode 100644 src/pages/Container/Enterprise/EmergencyOrganization/ProfessionalGuaranteeOrganization/TechnicalSupportGuaranteeOrganization/Add/index.js create mode 100644 src/pages/Container/Enterprise/EmergencyOrganization/ProfessionalGuaranteeOrganization/TechnicalSupportGuaranteeOrganization/List/index.js create mode 100644 src/pages/Container/Enterprise/EmergencyOrganization/ProfessionalGuaranteeOrganization/TechnicalSupportGuaranteeOrganization/View/index.js create mode 100644 src/pages/Container/Enterprise/EmergencyOrganization/ProfessionalGuaranteeOrganization/TechnicalSupportGuaranteeOrganization/index.js create mode 100644 src/pages/Container/Enterprise/EmergencyOrganization/ProfessionalGuaranteeOrganization/TransportGuaranteeOrganization/Add/index.js create mode 100644 src/pages/Container/Enterprise/EmergencyOrganization/ProfessionalGuaranteeOrganization/TransportGuaranteeOrganization/List/index.js create mode 100644 src/pages/Container/Enterprise/EmergencyOrganization/ProfessionalGuaranteeOrganization/TransportGuaranteeOrganization/View/index.js create mode 100644 src/pages/Container/Enterprise/EmergencyOrganization/ProfessionalGuaranteeOrganization/TransportGuaranteeOrganization/index.js create mode 100644 src/pages/Container/Enterprise/EmergencyOrganization/ProfessionalGuaranteeOrganization/index.js create mode 100644 src/pages/Container/Enterprise/EmergencyOrganization/index.js create mode 100644 src/pages/Container/Enterprise/EmergencyResource/ClosedCardPort/Add/index.js create mode 100644 src/pages/Container/Enterprise/EmergencyResource/ClosedCardPort/List/index.js create mode 100644 src/pages/Container/Enterprise/EmergencyResource/ClosedCardPort/View/index.js create mode 100644 src/pages/Container/Enterprise/EmergencyResource/ClosedCardPort/index.js create mode 100644 src/pages/Container/Enterprise/EmergencyResource/DrainageWell/Add/index.js create mode 100644 src/pages/Container/Enterprise/EmergencyResource/DrainageWell/List/index.js create mode 100644 src/pages/Container/Enterprise/EmergencyResource/DrainageWell/View/index.js create mode 100644 src/pages/Container/Enterprise/EmergencyResource/DrainageWell/index.js create mode 100644 src/pages/Container/Enterprise/EmergencyResource/EmergencyEquipment/Add/index.js create mode 100644 src/pages/Container/Enterprise/EmergencyResource/EmergencyEquipment/List/index.js create mode 100644 src/pages/Container/Enterprise/EmergencyResource/EmergencyEquipment/View/index.js create mode 100644 src/pages/Container/Enterprise/EmergencyResource/EmergencyEquipment/index.js create mode 100644 src/pages/Container/Enterprise/EmergencyResource/EmergencyShelter/Add/index.js create mode 100644 src/pages/Container/Enterprise/EmergencyResource/EmergencyShelter/List/index.js create mode 100644 src/pages/Container/Enterprise/EmergencyResource/EmergencyShelter/View/index.js create mode 100644 src/pages/Container/Enterprise/EmergencyResource/EmergencyShelter/index.js create mode 100644 src/pages/Container/Enterprise/EmergencyResource/MaterialEquipment/Add/index.js create mode 100644 src/pages/Container/Enterprise/EmergencyResource/MaterialEquipment/FacilitiesEquipment/Add/index.js create mode 100644 src/pages/Container/Enterprise/EmergencyResource/MaterialEquipment/FacilitiesEquipment/List/index.js create mode 100644 src/pages/Container/Enterprise/EmergencyResource/MaterialEquipment/FacilitiesEquipment/View/index.js create mode 100644 src/pages/Container/Enterprise/EmergencyResource/MaterialEquipment/FacilitiesEquipment/index.js create mode 100644 src/pages/Container/Enterprise/EmergencyResource/MaterialEquipment/List/index.js create mode 100644 src/pages/Container/Enterprise/EmergencyResource/MaterialEquipment/Material/Add/index.js create mode 100644 src/pages/Container/Enterprise/EmergencyResource/MaterialEquipment/Material/List/index.js create mode 100644 src/pages/Container/Enterprise/EmergencyResource/MaterialEquipment/Material/View/index.js create mode 100644 src/pages/Container/Enterprise/EmergencyResource/MaterialEquipment/Material/index.js create mode 100644 src/pages/Container/Enterprise/EmergencyResource/MaterialEquipment/RescueEquipment/Add/index.js create mode 100644 src/pages/Container/Enterprise/EmergencyResource/MaterialEquipment/RescueEquipment/List/index.js create mode 100644 src/pages/Container/Enterprise/EmergencyResource/MaterialEquipment/RescueEquipment/View/index.js create mode 100644 src/pages/Container/Enterprise/EmergencyResource/MaterialEquipment/RescueEquipment/index.js create mode 100644 src/pages/Container/Enterprise/EmergencyResource/MaterialEquipment/View/index.js create mode 100644 src/pages/Container/Enterprise/EmergencyResource/MaterialEquipment/index.js create mode 100644 src/pages/Container/Enterprise/EmergencyResource/index.js create mode 100644 src/pages/Container/Enterprise/index.js create mode 100644 src/pages/Container/Entry/index.js create mode 100644 src/pages/Container/Supervision/EmergencyOrganization/EmergencyAddressBook/List/index.js create mode 100644 src/pages/Container/Supervision/EmergencyOrganization/EmergencyAddressBook/index.js create mode 100644 src/pages/Container/Supervision/EmergencyOrganization/EmergencyExpertTeam/List/index.js create mode 100644 src/pages/Container/Supervision/EmergencyOrganization/EmergencyExpertTeam/index.js create mode 100644 src/pages/Container/Supervision/EmergencyOrganization/EmergencyOrganization/List/index.js create mode 100644 src/pages/Container/Supervision/EmergencyOrganization/EmergencyOrganization/index.js create mode 100644 src/pages/Container/Supervision/EmergencyOrganization/EmergencyRescueTeam/List/index.js create mode 100644 src/pages/Container/Supervision/EmergencyOrganization/EmergencyRescueTeam/index.js create mode 100644 src/pages/Container/Supervision/EmergencyOrganization/ProfessionalGuaranteeOrganization/List/index.js create mode 100644 src/pages/Container/Supervision/EmergencyOrganization/ProfessionalGuaranteeOrganization/index.js create mode 100644 src/pages/Container/Supervision/EmergencyOrganization/index.js create mode 100644 src/pages/Container/Supervision/EmergencyRescue/EmergencyEvent/EventReport/List/index.js create mode 100644 src/pages/Container/Supervision/EmergencyRescue/EmergencyEvent/EventReport/index.js create mode 100644 src/pages/Container/Supervision/EmergencyRescue/EmergencyEvent/index.js create mode 100644 src/pages/Container/Supervision/EmergencyRescue/EmergencyKnowledgeLibrary/EmergencyKnowledge/EmergencyKnowledgeLibrary/List/index.js create mode 100644 src/pages/Container/Supervision/EmergencyRescue/EmergencyKnowledgeLibrary/EmergencyKnowledge/EmergencyKnowledgeLibrary/index.js create mode 100644 src/pages/Container/Supervision/EmergencyRescue/EmergencyKnowledgeLibrary/EmergencyKnowledge/index.js create mode 100644 src/pages/Container/Supervision/EmergencyRescue/EmergencyKnowledgeLibrary/index.js create mode 100644 src/pages/Container/Supervision/EmergencyRescue/EnterpriseDuty/DutyLogAndSchedulingRegistration/List/index.js create mode 100644 src/pages/Container/Supervision/EmergencyRescue/EnterpriseDuty/DutyLogAndSchedulingRegistration/index.js create mode 100644 src/pages/Container/Supervision/EmergencyRescue/EnterpriseDuty/index.js create mode 100644 src/pages/Container/Supervision/EmergencyRescue/Rescue/List/index.js create mode 100644 src/pages/Container/Supervision/EmergencyRescue/Rescue/index.js create mode 100644 src/pages/Container/Supervision/EmergencyRescue/index.js create mode 100644 src/pages/Container/Supervision/EmergencyResource/EmergencyResource/List/index.js create mode 100644 src/pages/Container/Supervision/EmergencyResource/EmergencyResource/index.js create mode 100644 src/pages/Container/Supervision/EmergencyResource/index.js create mode 100644 src/pages/Container/Supervision/PlanAndDrill/EmergencyExercise/List/index.js create mode 100644 src/pages/Container/Supervision/PlanAndDrill/EmergencyExercise/index.js create mode 100644 src/pages/Container/Supervision/PlanAndDrill/EmergencyPlan/List/index.js create mode 100644 src/pages/Container/Supervision/PlanAndDrill/EmergencyPlan/index.js create mode 100644 src/pages/Container/Supervision/PlanAndDrill/EnterprisePlan/List/index.js create mode 100644 src/pages/Container/Supervision/PlanAndDrill/EnterprisePlan/index.js create mode 100644 src/pages/Container/Supervision/PlanAndDrill/index.js create mode 100644 src/pages/Container/Supervision/index.js create mode 100644 src/pages/Container/index.js create mode 100644 src/pages/index.js create mode 100644 webstorm.config.js diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..271822f --- /dev/null +++ b/.editorconfig @@ -0,0 +1,13 @@ +root = true + +[*] +charset = utf-8 +indent_style = space +indent_size = 2 +end_of_line = lf +insert_final_newline = true +trim_trailing_whitespace = true + +[*.md] +insert_final_newline = false +trim_trailing_whitespace = false diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b840685 --- /dev/null +++ b/.gitignore @@ -0,0 +1,14 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules + +# production +/dist +/demo + +npm-debug.log* +yarn-debug.log* +yarn-error.log* +.idea +yarn.lock \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..96ed201 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,47 @@ +{ + "prettier.enable": false, + "editor.formatOnSave": false, + + "editor.codeActionsOnSave": { + "source.fixAll.eslint": "explicit", + "source.organizeImports": "never" + }, + + "eslint.rules.customizations": [ + { "rule": "style/*", "severity": "off", "fixable": true }, + { "rule": "format/*", "severity": "off", "fixable": true }, + { "rule": "*-indent", "severity": "off", "fixable": true }, + { "rule": "*-spacing", "severity": "off", "fixable": true }, + { "rule": "*-spaces", "severity": "off", "fixable": true }, + { "rule": "*-order", "severity": "off", "fixable": true }, + { "rule": "*-dangle", "severity": "off", "fixable": true }, + { "rule": "*-newline", "severity": "off", "fixable": true }, + { "rule": "*quotes", "severity": "off", "fixable": true }, + { "rule": "*semi", "severity": "off", "fixable": true } + ], + + "eslint.validate": [ + "javascript", + "javascriptreact", + "typescript", + "typescriptreact", + "vue", + "html", + "markdown", + "json", + "json5", + "jsonc", + "yaml", + "toml", + "xml", + "gql", + "graphql", + "astro", + "svelte", + "css", + "less", + "scss", + "pcss", + "postcss" + ] +} diff --git a/README.md b/README.md new file mode 100644 index 0000000..a3da031 --- /dev/null +++ b/README.md @@ -0,0 +1,75 @@ +# 微应用模板说明文档 + +## 在线文档 + +https://www.yuque.com/buhangjiecheshen-ymbtb/qc0093/gxdun1dphetcurko + + +## 安装依赖 +项目依赖可通过 **yarn** 或 **npm** 进行安装: + +```bash +# 使用 yarn +yarn + +# 或使用 npm +npm i +``` + +## 开发服务&打包应用 + +```bash +# 启动开发服务 +yarn serve: +# 或 +npm run serve: + +# 开发环境打包 +yarn build: +# 或 +npm run build: +``` + +## 路由配置&路由访问&自动化路由 +所有页面必须放在`src/pages/container`目录下,启动访问页面请在浏览器地址栏输入`//container/<你的路由页面文件名称>` +解释: +1. 所有页面组件命名为`index.js`或`index.jsx`,必须放在一个首字母大写的文件中。 +2. `container`为固定路径访问格式 +3. ``为应用的唯一标识符,也是应用路由的`basename`,在底座中用于区分其他应用。可在根目录 `jjb.config.js` 文件的 `appIdentifier` 节点中进行修改。 +4. 自动化路由将根据`pages/container`中的路由页面文件自动生成路由树。 +5. `id`匹配路由,文件夹命名`_id` + +## 应用接口环境配置 +应用接口环境相关配置在根目录 `jjb.config.js` 文件的 `environment` 节点中进行定义。 + +## 应用开发服务配置 +应用开发服务相关配置在根目录 `jjb.config.js` 文件的 `server` 节点中进行定义。 + +## Babel 配置 +应用的 `Babel` 配置在根目录 `jjb.babel.js` 文件中进行管理。 + +## 目录说明 + +1. `src/api/` 配置各个 store 模块的接口数据。 +2. `src/components/` 全局公共组件。 +3. `src/enumerate/` 全局各种枚举配置。 +4. `src/pages/` 页面文件目录。 +5. `src/main.js` 应用的入口文件。 + +## 核心依赖 +1. `@cqsjjb/jjb-common-decorator` + 1. 公共装饰器库,内部包含: + 1. 按钮权限处理 + 2. antd/Table 控制 + 3. 文本重命名处理 + 4. 具体使用方式可参考各个模块的 `d.ts`。 +2. `@cqsjjb/jjb-common-lib` + 1. 公共工具库,具体 API 使用请查看 `d.ts` +3. `@cqsjjb/jjb-dva-runtime` + 1. 核心运行时,基于 `dvajs` 实现。 + 1. 应用核心依赖模块 + 2. 应用的自动化路由 + 3. `store` 模块接口数据处理 + 4. 均基于此依赖实现,具体使用方式请查看 `d.ts`。 +4. `@cqsjjb/jjb-react-admin-component` + 1. 公共组件库,具体组件使用方式请查看 `d.ts`。 diff --git a/blessed_by_buddha.js b/blessed_by_buddha.js new file mode 100644 index 0000000..340fa53 --- /dev/null +++ b/blessed_by_buddha.js @@ -0,0 +1,66 @@ +/* + _ooOoo_ + o8888888o + 88" . "88 + (| -_- |) + O\ = /O + ____/`---'\____ + . ' \\| |// `. + / \\||| : |||// \ + / _||||| -:- |||||- \ + | | \\\ - /// | | + | \_| ''\---/'' | | + \ .-\__ `-` ___/-. / + ___`. .' /--.--\ `. . __ + ."" '< `.___\_<|>_/___.' >'"". + | | : `- \`.;`\ _ /`;.`/ - ` : | | + \ \ `-. \_ __\ /__ _/ .-` / / + ======`-.____`-.___\_____/___.-`____.-'====== + `=---=' + + ............................................. + 佛祖保佑 永无BUG + 佛曰: + 写字楼里写字间,写字间里程序员; + 程序人员写程序,又拿程序换酒钱。 + 酒醒只在网上坐,酒醉还来网下眠; + 酒醉酒醒日复日,网上网下年复年。 + 但愿老死电脑间,不愿鞠躬老板前; + 奔驰宝马贵者趣,公交自行程序员。 + 别人笑我忒疯癫,我笑自己命太贱; + 不见满街漂亮妹,哪个归得程序员? + */ + +const blessedByBuddha + = "%c _ooOoo_\n" + + " o8888888o\n" + + " 88\" . \"88\n" + + " (| -_- |)\n" + + " O\\ = /O\n" + + " ____/`---'\\____\n" + + " . ' \\\\| |// `.\n" + + " / \\\\||| : |||// \\\n" + + " / _||||| -:- |||||- \\\n" + + " | | \\\\\\ - /// | |\n" + + " | \\_| ''\\---/'' | |\n" + + " \\ .-\\__ `-` ___/-. /\n" + + " ___`. .' /--.--\\ `. . __\n" + + " .\"\" '< `.___\\_<|>_/___.' >'\"\".\n" + + " | | : `- \\`.;`\\ _ /`;.`/ - ` : | |\n" + + " \\ \\ `-. \\_ __\\ /__ _/ .-` / /\n" + + " ======`-.____`-.___\\_____/___.-`____.-'======\n" + + " `=---='\n" + + "\n" + + "%c .............................................\n" + + " 佛祖保佑 永无BUG\n" + + "\n" + + "%c 佛曰:\n" + + " 写字楼里写字间,写字间里程序员;\n" + + " 程序人员写程序,又拿程序换酒钱。\n" + + " 酒醒只在网上坐,酒醉还来网下眠;\n" + + " 酒醉酒醒日复日,网上网下年复年。\n" + + " 但愿老死电脑间,不愿鞠躬老板前;\n" + + " 奔驰宝马贵者趣,公交自行程序员。\n" + + " 别人笑我忒疯癫,我笑自己命太贱;\n" + + " 不见满街漂亮妹,哪个归得程序员?"; +console.log(blessedByBuddha, "color:#ffd700", "color:red", "color:#1e80ff"); diff --git a/eslint.config.js b/eslint.config.js new file mode 100644 index 0000000..fab559e --- /dev/null +++ b/eslint.config.js @@ -0,0 +1,49 @@ +import antfu from "@antfu/eslint-config"; + +export default antfu({ + formatters: { + html: false, + css: true, + }, + test: false, + typescript: true, + react: true, + vue: false, + markdown: false, + stylistic: { + semi: true, + quotes: "double", + }, + overrides: { + react: { + "react/no-comment-textnodes": "off", + "react-hooks-extra/no-unnecessary-use-prefix": "off", + "react-hooks-extra/prefer-use-state-lazy-initialization": "off", + "react-hooks/exhaustive-deps": "off", + "react/no-implicit-key": "off", + }, + javascript: { + "no-console": process.env.NODE_ENV === "production" ? "error" : "warn", + "no-debugger": process.env.NODE_ENV === "production" ? "error" : "warn", + "no-alert": process.env.NODE_ENV === "production" ? "error" : "warn", + "no-restricted-syntax": [ + "error", + { + selector: "VariableDeclarator[id.name='pd']", + message: "不允许使用 pd,请改用有语义化的变量名", + }, + { + selector: "ObjectExpression > Property[key.name='pd']", + message: "不允许使用 pd,请改用有语义化的变量名", + }, + ], + "no-unused-vars": ["error", { varsIgnorePattern: "^React$" }], + }, + }, + rules: { + "antfu/top-level-function": "off", + "node/prefer-global/process": "off", + "dot-notation": "off", + "linebreak-style": ["off", "windows"], + }, +}); diff --git a/jjb.babel.js b/jjb.babel.js new file mode 100644 index 0000000..e58cbef --- /dev/null +++ b/jjb.babel.js @@ -0,0 +1,23 @@ +module.exports = { + compact: false, + // 插件 + plugins: [ + [ + "@babel/plugin-proposal-decorators", + { + legacy: true, + }, + ], + ], + // 预设 + presets: [ + ["@babel/preset-env", { + targets: { + browsers: ["ie >= 10"], + }, + }], + ["@babel/preset-react", { + runtime: "automatic", + }], + ], +}; diff --git a/jjb.config.js b/jjb.config.js new file mode 100644 index 0000000..282b244 --- /dev/null +++ b/jjb.config.js @@ -0,0 +1,77 @@ +module.exports = { + // 应用后端git地址,部署上线需要 + javaGit: "", + // 应用后端仓库名称,部署上线需要 + javaGitName: "", + // 环境配置 + environment: { + development: { + // 应用后端分支名称,部署上线需要 + javaGitBranch: "", + // 接口服务地址 + API_HOST: "https://gbs-gateway.qhdsafety.com", + // API_HOST: "http://192.168.20.100:30140", + }, + production: { + // 应用后端分支名称,部署上线需要 + javaGitBranch: "", + // 接口服务地址 + API_HOST: "", + }, + }, + // 应用唯一标识符 + appIdentifier: "emergencyRescue", + // 应用上下文注入全局变量 + contextInject: { + // 应用Key + appKey: "", + // fileUrl: "http://192.168.20.240:9787/mnt/", + fileUrl: "https://jpfz.qhdsafety.com/gbsFileTest/", + }, + // public/index.html注入全局变量 + windowInject: { + // 应用标题 + title: "微应用模板", + // 注入css链接集合 + links: [], + element: { + root: { + // 挂载DOM元素ID + id: "root", + }, + }, + // 注入js链接集合 + scripts: [], + }, + // 开发服务 + server: { + // 监听端口号 + port: "8033", + // 服务地址 + host: "127.0.0.1", + // 是否自动打开浏览器 + open: true, + }, + // 框架 + framework: { + // ant-design + antd: { + // 全局antd-class-name前缀 + "ant-prefix": "micro-temp", + // 全局字体 + "fontFamily": "PingFangSC-Regular", + // 全局主题色 + "colorPrimary": "#1677ff", + // 全局圆角 + "borderRadius": 2, + }, + }, + // webpack + webpackConfig: { + // 单页面插件 + htmlWebpackPluginOption: { + // 自动注入编译后的文件到public/index.html中 + inject: true, + }, + }, +}; diff --git a/jsconfig.json b/jsconfig.json new file mode 100644 index 0000000..ed50d55 --- /dev/null +++ b/jsconfig.json @@ -0,0 +1,10 @@ +{ + "compilerOptions": { + "baseUrl": "src", + "paths": { + "~/*": ["*"] + }, + "jsx": "react" + }, + "include": ["src"] +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..96f8dea --- /dev/null +++ b/package.json @@ -0,0 +1,47 @@ +{ + "name": "micro-app", + "version": "2.0.0", + "description": "建教帮微应用模板", + "author": "JJB", + "license": "MIT", + "main": "index.js", + "scripts": { + "serve": "node node_modules/@cqsjjb/scripts/webpack.dev.server.js", + "build": "node node_modules/@cqsjjb/scripts/webpack.build.js", + "push": "jjb-cmd push java production", + "clean-cache": "rimraf node_modules/.cache/webpack", + "serve:development": "cross-env NODE_ENV=development npm run serve", + "serve:production": "cross-env NODE_ENV=production npm run serve", + "build:development": "cross-env NODE_ENV=development npm run build", + "build:production": "cross-env NODE_ENV=production npm run build", + "code-optimization": "node node_modules/@cqsjjb/scripts/code-optimization.js", + "lint": "eslint --ext .js,.jsx,.tsx --fix src" + }, + "dependencies": { + "@ant-design/icons": "^5.6.1", + "@ant-design/pro-components": "^2.8.10", + "@cqsjjb/jjb-common-decorator": "latest", + "@cqsjjb/jjb-common-lib": "latest", + "@cqsjjb/jjb-dva-runtime": "latest", + "@cqsjjb/jjb-react-admin-component": "latest", + "ahooks": "^3.9.5", + "antd": "^5.27.6", + "dayjs": "^1.11.7", + "lodash-es": "^4.17.21", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "zy-react-library": "^1.2.20" + }, + "devDependencies": { + "@antfu/eslint-config": "^5.4.1", + "@babel/plugin-proposal-decorators": "^7.19.3", + "@cqsjjb/scripts": "2.0.0", + "@eslint-react/eslint-plugin": "^2.2.2", + "cross-env": "^7.0.3", + "eslint": "^9.37.0", + "eslint-plugin-format": "^1.0.2", + "eslint-plugin-react-hooks": "^7.0.0", + "eslint-plugin-react-refresh": "^0.4.23", + "typescript": "^5.9.3" + } +} diff --git a/public/index.html b/public/index.html new file mode 100644 index 0000000..9bfa85d --- /dev/null +++ b/public/index.html @@ -0,0 +1,54 @@ + + + + + + + + + + + + + <% for (const item of $links) { %> + + <% } %> + -- + + + <% for (const item of $scripts) { %> + + <% } %> + + + + + + <% const { root } = $element; %> +
+ + diff --git a/router.md b/router.md new file mode 100644 index 0000000..3d5ee1a --- /dev/null +++ b/router.md @@ -0,0 +1,62 @@ +### 监管端 +- 应急资源管理/应急资源统计 + `/emergencyRescue/container/supervision/emergencyResource/emergencyResource/list` +- 应急组织管理/应急专家队伍统计 + `/emergencyRescue/container/supervision/emergencyOrganization/emergencyExpertTeam/list` +- 应急组织管理/应急通讯录统计 + `/emergencyRescue/container/supervision/emergencyOrganization/emergencyAddressBook/list` +- 应急组织管理/专业保障机构统计 + `/emergencyRescue/container/supervision/emergencyOrganization/professionalGuaranteeOrganization/list` +- 应急组织管理/应急机构统计 + `/emergencyRescue/container/supervision/emergencyOrganization/emergencyOrganization/list` +- 应急组织管理/应急救援队伍统计 + `/emergencyRescue/container/supervision/emergencyOrganization/emergencyRescueTeam/list` +- 预案与演练/企业预案统计 + `/emergencyRescue/container/supervision/planAndDrill/enterprisePlan/list` +- 预案与演练/应急预案统计 + `/emergencyRescue/container/supervision/planAndDrill/emergencyPlan/list` +- 预案与演练/应急演练统计 + `/emergencyRescue/container/supervision/planAndDrill/emergencyExercise/list` +- 应急救援/企业值班管理/值班日志及排班登记统计 + `/emergencyRescue/container/supervision/emergencyRescue/enterpriseDuty/dutyLogAndSchedulingRegistration/list` +- 应急救援/应急接报管理/事件接报统计 + `/emergencyRescue/container/supervision/emergencyRescue/emergencyEvent/eventReport/list` +- 应急救援/救援统计 + `/emergencyRescue/container/supervision/emergencyRescue/rescue/list` +- 应急救援/应急知识库/应急知识管理/应急知识库统计 + `/emergencyRescue/container/supervision/emergencyRescue/emergencyKnowledgeLibrary/emergencyKnowledge/emergencyKnowledgeLibrary/list` + + +### 企业端 +- 应急资源管理/应急装备管理 + `/emergencyRescue/container/enterprise/emergencyResource/emergencyEquipment/list` +- 应急资源管理/物资装备库 + `/emergencyRescue/container/enterprise/emergencyResource/materialEquipment/list` +- 应急资源管理/应急避难场所 + `/emergencyRescue/container/enterprise/emergencyResource/emergencyShelter/list` +- 应急资源管理/排水井 + `/emergencyRescue/container/enterprise/emergencyResource/drainageWell/list` +- 应急资源管理/封闭卡口 + `/emergencyRescue/container/enterprise/emergencyResource/closedCardPort/list` +- 应急组织管理/应急专家队伍管理/应急救援队伍 + `/emergencyRescue/container/enterprise/emergencyOrganization/emergencyExpertTeam/expertEmergencyRescueTeam/list` +- 应急组织管理/应急专家队伍管理/应急救援专家 + `/emergencyRescue/container/enterprise/emergencyOrganization/emergencyExpertTeam/expertEmergencyRescueExpert/list` +- 应急组织管理/应急专家队伍管理/应急救援专家组 + `/emergencyRescue/container/enterprise/emergencyOrganization/emergencyExpertTeam/expertEmergencyRescueExpertGroup/list` +- 应急组织管理/应急通讯录 + `/emergencyRescue/container/enterprise/emergencyOrganization/emergencyAddressBook/list` +- 应急组织管理/专业保障机构/运输保障机构信息管理 + `/emergencyRescue/container/enterprise/emergencyOrganization/professionalGuaranteeOrganization/transportGuaranteeOrganization/list` +- 应急组织管理/专业保障机构/医疗保障机构信息管理 + `/emergencyRescue/container/enterprise/emergencyOrganization/professionalGuaranteeOrganization/medicalGuaranteeOrganization/list` +- 应急组织管理/专业保障机构/通讯保障机构信息管理 + `/emergencyRescue/container/enterprise/emergencyOrganization/professionalGuaranteeOrganization/communicationGuaranteeOrganization/list` +- 应急组织管理/专业保障机构/技术支持机构信息管理 + `/emergencyRescue/container/enterprise/emergencyOrganization/professionalGuaranteeOrganization/technicalSupportGuaranteeOrganization/list` +- 应急组织管理/应急管理机构/企业应急机构 + `/emergencyRescue/container/enterprise/emergencyOrganization/emergencyManagementOrganization/enterpriseEmergencyOrganization/list` +- 应急组织管理/应急管理机构/企业应急人员 + `/emergencyRescue/container/enterprise/emergencyOrganization/emergencyManagementOrganization/enterpriseEmergencyPersonnel/list` +- 应急组织管理/应急救援队伍管理 + `/emergencyRescue/container/enterprise/emergencyOrganization/emergencyRescueTeam/list` diff --git a/src/api/closedCardPort/index.js b/src/api/closedCardPort/index.js new file mode 100644 index 0000000..db4e4a1 --- /dev/null +++ b/src/api/closedCardPort/index.js @@ -0,0 +1,26 @@ +import { declareRequest } from "@cqsjjb/jjb-dva-runtime"; + +export const closedCardPortList = declareRequest( + "closedCardPortLoading", + "Post > @/emergencyRescue", +); +export const closedCardPortInfo = declareRequest( + "closedCardPortLoading", + "Get > /emergencyRescue", +); +export const closedCardPortAdd = declareRequest( + "closedCardPortLoading", + "Post > @/emergencyRescue", +); +export const closedCardPortUpdate = declareRequest( + "closedCardPortLoading", + "Put > @/emergencyRescue", +); +export const closedCardPortDelete = declareRequest( + "closedCardPortLoading", + "Delete > @/emergencyRescue", +); +export const closedCardPortDeleteBatch = declareRequest( + "closedCardPortLoading", + "Delete > @/emergencyRescue", +); diff --git a/src/api/communicationGuaranteeOrganization/index.js b/src/api/communicationGuaranteeOrganization/index.js new file mode 100644 index 0000000..10a00e8 --- /dev/null +++ b/src/api/communicationGuaranteeOrganization/index.js @@ -0,0 +1,26 @@ +import { declareRequest } from "@cqsjjb/jjb-dva-runtime"; + +export const communicationGuaranteeOrganizationList = declareRequest( + "communicationGuaranteeOrganizationLoading", + "Post > @/emergencyRescue", +); +export const communicationGuaranteeOrganizationInfo = declareRequest( + "communicationGuaranteeOrganizationLoading", + "Get > /emergencyRescue", +); +export const communicationGuaranteeOrganizationAdd = declareRequest( + "communicationGuaranteeOrganizationLoading", + "Post > @/emergencyRescue", +); +export const communicationGuaranteeOrganizationUpdate = declareRequest( + "communicationGuaranteeOrganizationLoading", + "Put > @/emergencyRescue", +); +export const communicationGuaranteeOrganizationDelete = declareRequest( + "communicationGuaranteeOrganizationLoading", + "Delete > @/emergencyRescue", +); +export const communicationGuaranteeOrganizationDeleteBatch = declareRequest( + "communicationGuaranteeOrganizationLoading", + "Delete > @/emergencyRescue", +); diff --git a/src/api/drainageWell/index.js b/src/api/drainageWell/index.js new file mode 100644 index 0000000..641ee10 --- /dev/null +++ b/src/api/drainageWell/index.js @@ -0,0 +1,26 @@ +import { declareRequest } from "@cqsjjb/jjb-dva-runtime"; + +export const drainageWellList = declareRequest( + "drainageWellLoading", + "Post > @/emergencyRescue", +); +export const drainageWellInfo = declareRequest( + "drainageWellLoading", + "Get > /emergencyRescue", +); +export const drainageWellAdd = declareRequest( + "drainageWellLoading", + "Post > @/emergencyRescue", +); +export const drainageWellUpdate = declareRequest( + "drainageWellLoading", + "Put > @/emergencyRescue", +); +export const drainageWellDelete = declareRequest( + "drainageWellLoading", + "Delete > @/emergencyRescue", +); +export const drainageWellDeleteBatch = declareRequest( + "drainageWellLoading", + "Delete > @/emergencyRescue", +); diff --git a/src/api/emergencyAddressBook/index.js b/src/api/emergencyAddressBook/index.js new file mode 100644 index 0000000..8d95230 --- /dev/null +++ b/src/api/emergencyAddressBook/index.js @@ -0,0 +1,46 @@ +import { declareRequest } from "@cqsjjb/jjb-dva-runtime"; + +export const emergencyAddressBookList = declareRequest( + "emergencyAddressBookLoading", + "Post > @/emergencyRescue", +); +export const emergencyAddressBookInfo = declareRequest( + "emergencyAddressBookLoading", + "Get > /emergencyRescue", +); +export const emergencyAddressBookAdd = declareRequest( + "emergencyAddressBookLoading", + "Post > @/emergencyRescue", +); +export const emergencyAddressBookUpdate = declareRequest( + "emergencyAddressBookLoading", + "Put > @/emergencyRescue", +); +export const emergencyAddressBookDelete = declareRequest( + "emergencyAddressBookLoading", + "Delete > @/emergencyRescue", +); +export const emergencyAddressBookMemberList = declareRequest( + "emergencyAddressBookMemberLoading", + "Post > @/emergencyRescue", +); +export const emergencyAddressBookMemberInfo = declareRequest( + "emergencyAddressBookMemberLoading", + "Get > /emergencyRescue", +); +export const emergencyAddressBookMemberAdd = declareRequest( + "emergencyAddressBookMemberLoading", + "Post > @/emergencyRescue", +); +export const emergencyAddressBookMemberUpdate = declareRequest( + "emergencyAddressBookMemberLoading", + "Put > @/emergencyRescue", +); +export const emergencyAddressBookMemberDelete = declareRequest( + "emergencyAddressBookMemberLoading", + "Delete > @/emergencyRescue", +); +export const emergencyAddressBookMemberDeleteBatch = declareRequest( + "emergencyAddressBookMemberLoading", + "Delete > @/emergencyRescue", +); diff --git a/src/api/emergencyEquipment/index.js b/src/api/emergencyEquipment/index.js new file mode 100644 index 0000000..f8df09d --- /dev/null +++ b/src/api/emergencyEquipment/index.js @@ -0,0 +1,26 @@ +import { declareRequest } from "@cqsjjb/jjb-dva-runtime"; + +export const emergencyEquipmentList = declareRequest( + "emergencyEquipmentLoading", + "Post > @/emergencyRescue", +); +export const emergencyEquipmentInfo = declareRequest( + "emergencyEquipmentLoading", + "Get > /emergencyRescue", +); +export const emergencyEquipmentAdd = declareRequest( + "emergencyEquipmentLoading", + "Post > @/emergencyRescue", +); +export const emergencyEquipmentUpdate = declareRequest( + "emergencyEquipmentLoading", + "Put > @/emergencyRescue", +); +export const emergencyEquipmentDelete = declareRequest( + "emergencyEquipmentLoading", + "Delete > @/emergencyRescue", +); +export const emergencyEquipmentDeleteBatch = declareRequest( + "emergencyEquipmentLoading", + "Delete > @/emergencyRescue", +); diff --git a/src/api/emergencyRescueTeam/index.js b/src/api/emergencyRescueTeam/index.js new file mode 100644 index 0000000..40d84e9 --- /dev/null +++ b/src/api/emergencyRescueTeam/index.js @@ -0,0 +1,26 @@ +import { declareRequest } from "@cqsjjb/jjb-dva-runtime"; + +export const emergencyRescueTeamList = declareRequest( + "emergencyRescueTeamLoading", + "Post > @/emergencyRescue", +); +export const emergencyRescueTeamInfo = declareRequest( + "emergencyRescueTeamLoading", + "Get > /emergencyRescue", +); +export const emergencyRescueTeamAdd = declareRequest( + "emergencyRescueTeamLoading", + "Post > @/emergencyRescue", +); +export const emergencyRescueTeamUpdate = declareRequest( + "emergencyRescueTeamLoading", + "Put > @/emergencyRescue", +); +export const emergencyRescueTeamDelete = declareRequest( + "emergencyRescueTeamLoading", + "Delete > @/emergencyRescue", +); +export const emergencyRescueTeamDeleteBatch = declareRequest( + "emergencyRescueTeamLoading", + "Delete > @/emergencyRescue", +); diff --git a/src/api/emergencyShelter/index.js b/src/api/emergencyShelter/index.js new file mode 100644 index 0000000..8474453 --- /dev/null +++ b/src/api/emergencyShelter/index.js @@ -0,0 +1,26 @@ +import { declareRequest } from "@cqsjjb/jjb-dva-runtime"; + +export const emergencyShelterList = declareRequest( + "emergencyShelterLoading", + "Post > @/emergencyRescue", +); +export const emergencyShelterInfo = declareRequest( + "emergencyShelterLoading", + "Get > /emergencyRescue", +); +export const emergencyShelterAdd = declareRequest( + "emergencyShelterLoading", + "Post > @/emergencyRescue", +); +export const emergencyShelterUpdate = declareRequest( + "emergencyShelterLoading", + "Put > @/emergencyRescue", +); +export const emergencyShelterDelete = declareRequest( + "emergencyShelterLoading", + "Delete > @/emergencyRescue", +); +export const emergencyShelterDeleteBatch = declareRequest( + "emergencyShelterLoading", + "Delete > @/emergencyRescue", +); diff --git a/src/api/enterpriseEmergencyOrganization/index.js b/src/api/enterpriseEmergencyOrganization/index.js new file mode 100644 index 0000000..b428295 --- /dev/null +++ b/src/api/enterpriseEmergencyOrganization/index.js @@ -0,0 +1,30 @@ +import { declareRequest } from "@cqsjjb/jjb-dva-runtime"; + +export const enterpriseEmergencyOrganizationList = declareRequest( + "enterpriseEmergencyOrganizationLoading", + "Post > @/emergencyRescue", +); +export const enterpriseEmergencyOrganizationListAll = declareRequest( + "enterpriseEmergencyOrganizationLoading", + "Post > @/emergencyRescue", +); +export const enterpriseEmergencyOrganizationInfo = declareRequest( + "enterpriseEmergencyOrganizationLoading", + "Get > /emergencyRescue", +); +export const enterpriseEmergencyOrganizationAdd = declareRequest( + "enterpriseEmergencyOrganizationLoading", + "Post > @/emergencyRescue", +); +export const enterpriseEmergencyOrganizationUpdate = declareRequest( + "enterpriseEmergencyOrganizationLoading", + "Put > @/emergencyRescue", +); +export const enterpriseEmergencyOrganizationDelete = declareRequest( + "enterpriseEmergencyOrganizationLoading", + "Delete > @/emergencyRescue", +); +export const enterpriseEmergencyOrganizationDeleteBatch = declareRequest( + "enterpriseEmergencyOrganizationLoading", + "Delete > @/emergencyRescue", +); diff --git a/src/api/enterpriseEmergencyPersonnel/index.js b/src/api/enterpriseEmergencyPersonnel/index.js new file mode 100644 index 0000000..96a3a2f --- /dev/null +++ b/src/api/enterpriseEmergencyPersonnel/index.js @@ -0,0 +1,26 @@ +import { declareRequest } from "@cqsjjb/jjb-dva-runtime"; + +export const enterpriseEmergencyPersonnelList = declareRequest( + "enterpriseEmergencyPersonnelLoading", + "Post > @/emergencyRescue", +); +export const enterpriseEmergencyPersonnelInfo = declareRequest( + "enterpriseEmergencyPersonnelLoading", + "Get > /emergencyRescue", +); +export const enterpriseEmergencyPersonnelAdd = declareRequest( + "enterpriseEmergencyPersonnelLoading", + "Post > @/emergencyRescue", +); +export const enterpriseEmergencyPersonnelUpdate = declareRequest( + "enterpriseEmergencyPersonnelLoading", + "Put > @/emergencyRescue", +); +export const enterpriseEmergencyPersonnelDelete = declareRequest( + "enterpriseEmergencyPersonnelLoading", + "Delete > @/emergencyRescue", +); +export const enterpriseEmergencyPersonnelDeleteBatch = declareRequest( + "enterpriseEmergencyPersonnelLoading", + "Delete > @/emergencyRescue", +); diff --git a/src/api/expertEmergencyRescueExpert/index.js b/src/api/expertEmergencyRescueExpert/index.js new file mode 100644 index 0000000..22256b9 --- /dev/null +++ b/src/api/expertEmergencyRescueExpert/index.js @@ -0,0 +1,26 @@ +import { declareRequest } from "@cqsjjb/jjb-dva-runtime"; + +export const expertEmergencyRescueExpertList = declareRequest( + "expertEmergencyRescueExpertLoading", + "Post > @/emergencyRescue", +); +export const expertEmergencyRescueExpertInfo = declareRequest( + "expertEmergencyRescueExpertLoading", + "Get > /emergencyRescue", +); +export const expertEmergencyRescueExpertAdd = declareRequest( + "expertEmergencyRescueExpertLoading", + "Post > @/emergencyRescue", +); +export const expertEmergencyRescueExpertUpdate = declareRequest( + "expertEmergencyRescueExpertLoading", + "Put > @/emergencyRescue", +); +export const expertEmergencyRescueExpertDelete = declareRequest( + "expertEmergencyRescueExpertLoading", + "Delete > @/emergencyRescue", +); +export const expertEmergencyRescueExpertDeleteBatch = declareRequest( + "expertEmergencyRescueExpertLoading", + "Delete > @/emergencyRescue", +); diff --git a/src/api/expertEmergencyRescueExpertGroup/index.js b/src/api/expertEmergencyRescueExpertGroup/index.js new file mode 100644 index 0000000..16a7293 --- /dev/null +++ b/src/api/expertEmergencyRescueExpertGroup/index.js @@ -0,0 +1,42 @@ +import { declareRequest } from "@cqsjjb/jjb-dva-runtime"; + +export const expertEmergencyRescueExpertGroupList = declareRequest( + "expertEmergencyRescueExpertGroupLoading", + "Post > @/emergencyRescue", +); +export const expertEmergencyRescueExpertGroupInfo = declareRequest( + "expertEmergencyRescueExpertGroupLoading", + "Get > /emergencyRescue", +); +export const expertEmergencyRescueExpertGroupAdd = declareRequest( + "expertEmergencyRescueExpertGroupLoading", + "Post > @/emergencyRescue", +); +export const expertEmergencyRescueExpertGroupUpdate = declareRequest( + "expertEmergencyRescueExpertGroupLoading", + "Put > @/emergencyRescue", +); +export const expertEmergencyRescueExpertGroupDelete = declareRequest( + "expertEmergencyRescueExpertGroupLoading", + "Delete > @/emergencyRescue", +); +export const expertEmergencyRescueExpertGroupDeleteBatch = declareRequest( + "expertEmergencyRescueExpertGroupLoading", + "Delete > @/emergencyRescue", +); +export const expertEmergencyRescueExpertGroupDownExpertEmergencyRescueExpertList = declareRequest( + "expertEmergencyRescueExpertGroupDownExpertEmergencyRescueExpertLoading", + "Post > @/emergencyRescue", +); +export const expertEmergencyRescueExpertGroupDownExpertEmergencyRescueExpertAdd = declareRequest( + "expertEmergencyRescueExpertGroupDownExpertEmergencyRescueExpertLoading", + "Post > @/emergencyRescue", +); +export const expertEmergencyRescueExpertGroupDownExpertEmergencyRescueExpertDelete = declareRequest( + "expertEmergencyRescueExpertGroupDownExpertEmergencyRescueExpertLoading", + "Delete > @/emergencyRescue", +); +export const expertEmergencyRescueExpertGroupDownExpertEmergencyRescueExpertDeleteBatch = declareRequest( + "expertEmergencyRescueExpertGroupDownExpertEmergencyRescueExpertLoading", + "Delete > @/emergencyRescue", +); diff --git a/src/api/expertEmergencyRescueTeam/index.js b/src/api/expertEmergencyRescueTeam/index.js new file mode 100644 index 0000000..e8e9a20 --- /dev/null +++ b/src/api/expertEmergencyRescueTeam/index.js @@ -0,0 +1,50 @@ +import { declareRequest } from "@cqsjjb/jjb-dva-runtime"; + +export const expertEmergencyRescueTeamList = declareRequest( + "expertEmergencyRescueTeamLoading", + "Post > @/emergencyRescue", +); +export const expertEmergencyRescueTeamInfo = declareRequest( + "expertEmergencyRescueTeamLoading", + "Get > /emergencyRescue", +); +export const expertEmergencyRescueTeamAdd = declareRequest( + "expertEmergencyRescueTeamLoading", + "Post > @/emergencyRescue", +); +export const expertEmergencyRescueTeamUpdate = declareRequest( + "expertEmergencyRescueTeamLoading", + "Put > @/emergencyRescue", +); +export const expertEmergencyRescueTeamDelete = declareRequest( + "expertEmergencyRescueTeamLoading", + "Delete > @/emergencyRescue", +); +export const expertEmergencyRescueTeamDeleteBatch = declareRequest( + "expertEmergencyRescueTeamLoading", + "Delete > @/emergencyRescue", +); +export const expertEmergencyRescuePersonnelList = declareRequest( + "expertEmergencyRescuePersonnelLoading", + "Post > @/emergencyRescue", +); +export const expertEmergencyRescuePersonnelInfo = declareRequest( + "expertEmergencyRescuePersonnelLoading", + "Get > /emergencyRescue", +); +export const expertEmergencyRescuePersonnelAdd = declareRequest( + "expertEmergencyRescuePersonnelLoading", + "Post > @/emergencyRescue", +); +export const expertEmergencyRescuePersonnelUpdate = declareRequest( + "expertEmergencyRescuePersonnelLoading", + "Put > @/emergencyRescue", +); +export const expertEmergencyRescuePersonnelDelete = declareRequest( + "expertEmergencyRescuePersonnelLoading", + "Delete > @/emergencyRescue", +); +export const expertEmergencyRescuePersonnelDeleteBatch = declareRequest( + "expertEmergencyRescuePersonnelLoading", + "Delete > @/emergencyRescue", +); diff --git a/src/api/global/index.js b/src/api/global/index.js new file mode 100644 index 0000000..da445a0 --- /dev/null +++ b/src/api/global/index.js @@ -0,0 +1,8 @@ +import { declareRequest } from "@cqsjjb/jjb-dva-runtime"; + +export {}; + +export const corpInfoListAll = declareRequest( + "globalLoading", + "Get > /basicInfo/corpInfo/listAll", +); diff --git a/src/api/materialEquipment/index.js b/src/api/materialEquipment/index.js new file mode 100644 index 0000000..0e1448a --- /dev/null +++ b/src/api/materialEquipment/index.js @@ -0,0 +1,98 @@ +import { declareRequest } from "@cqsjjb/jjb-dva-runtime"; + +export const materialEquipmentList = declareRequest( + "materialEquipmentLoading", + "Post > @/emergencyRescue", +); +export const materialEquipmentInfo = declareRequest( + "materialEquipmentLoading", + "Get > /emergencyRescue", +); +export const materialEquipmentAdd = declareRequest( + "materialEquipmentLoading", + "Post > @/emergencyRescue", +); +export const materialEquipmentUpdate = declareRequest( + "materialEquipmentLoading", + "Put > @/emergencyRescue", +); +export const materialEquipmentDelete = declareRequest( + "materialEquipmentLoading", + "Delete > @/emergencyRescue", +); +export const materialEquipmentDeleteBatch = declareRequest( + "materialEquipmentLoading", + "Delete > @/emergencyRescue", +); +export const facilitiesEquipmentList = declareRequest( + "facilitiesEquipmentLoading", + "Post > @/emergencyRescue", +); +export const facilitiesEquipmentInfo = declareRequest( + "facilitiesEquipmentLoading", + "Get > /emergencyRescue", +); +export const facilitiesEquipmentAdd = declareRequest( + "facilitiesEquipmentLoading", + "Post > @/emergencyRescue", +); +export const facilitiesEquipmentUpdate = declareRequest( + "facilitiesEquipmentLoading", + "Put > @/emergencyRescue", +); +export const facilitiesEquipmentDelete = declareRequest( + "facilitiesEquipmentLoading", + "Delete > @/emergencyRescue", +); +export const facilitiesEquipmentDeleteBatch = declareRequest( + "facilitiesEquipmentLoading", + "Delete > @/emergencyRescue", +); +export const rescueEquipmentList = declareRequest( + "rescueEquipmentLoading", + "Post > @/emergencyRescue", +); +export const rescueEquipmentInfo = declareRequest( + "rescueEquipmentLoading", + "Get > /emergencyRescue", +); +export const rescueEquipmentAdd = declareRequest( + "rescueEquipmentLoading", + "Post > @/emergencyRescue", +); +export const rescueEquipmentUpdate = declareRequest( + "rescueEquipmentLoading", + "Put > @/emergencyRescue", +); +export const rescueEquipmentDelete = declareRequest( + "rescueEquipmentLoading", + "Delete > @/emergencyRescue", +); +export const rescueEquipmentDeleteBatch = declareRequest( + "rescueEquipmentLoading", + "Delete > @/emergencyRescue", +); +export const materialList = declareRequest( + "materialLoading", + "Post > @/emergencyRescue", +); +export const materialInfo = declareRequest( + "materialLoading", + "Get > /emergencyRescue", +); +export const materialAdd = declareRequest( + "materialLoading", + "Post > @/emergencyRescue", +); +export const materialUpdate = declareRequest( + "materialLoading", + "Put > @/emergencyRescue", +); +export const materialDelete = declareRequest( + "materialLoading", + "Delete > @/emergencyRescue", +); +export const materialDeleteBatch = declareRequest( + "materialLoading", + "Delete > @/emergencyRescue", +); diff --git a/src/api/medicalGuaranteeOrganization/index.js b/src/api/medicalGuaranteeOrganization/index.js new file mode 100644 index 0000000..f347907 --- /dev/null +++ b/src/api/medicalGuaranteeOrganization/index.js @@ -0,0 +1,26 @@ +import { declareRequest } from "@cqsjjb/jjb-dva-runtime"; + +export const medicalGuaranteeOrganizationList = declareRequest( + "medicalGuaranteeOrganizationLoading", + "Post > @/emergencyRescue", +); +export const medicalGuaranteeOrganizationInfo = declareRequest( + "medicalGuaranteeOrganizationLoading", + "Get > /emergencyRescue", +); +export const medicalGuaranteeOrganizationAdd = declareRequest( + "medicalGuaranteeOrganizationLoading", + "Post > @/emergencyRescue", +); +export const medicalGuaranteeOrganizationUpdate = declareRequest( + "medicalGuaranteeOrganizationLoading", + "Put > @/emergencyRescue", +); +export const medicalGuaranteeOrganizationDelete = declareRequest( + "medicalGuaranteeOrganizationLoading", + "Delete > @/emergencyRescue", +); +export const medicalGuaranteeOrganizationDeleteBatch = declareRequest( + "medicalGuaranteeOrganizationLoading", + "Delete > @/emergencyRescue", +); diff --git a/src/api/statistics/index.js b/src/api/statistics/index.js new file mode 100644 index 0000000..8932763 --- /dev/null +++ b/src/api/statistics/index.js @@ -0,0 +1,54 @@ +import { declareRequest } from "@cqsjjb/jjb-dva-runtime"; + +export const emergencyResourceStatisticsList = declareRequest( + "statisticsLoading", + "Post > @/emergencyRescue", +); +export const emergencyExpertTeamStatisticsList = declareRequest( + "statisticsLoading", + "Post > @/emergencyRescue", +); +export const emergencyAddressBookStatisticsList = declareRequest( + "statisticsLoading", + "Post > @/emergencyRescue", +); +export const professionalGuaranteeOrganizationStatisticsList = declareRequest( + "statisticsLoading", + "Post > @/emergencyRescue", +); +export const emergencyOrganizationStatisticsList = declareRequest( + "statisticsLoading", + "Post > @/emergencyRescue", +); +export const emergencyRescueTeamStatisticsList = declareRequest( + "statisticsLoading", + "Post > @/emergencyRescue", +); +export const enterprisePlanStatisticsList = declareRequest( + "statisticsLoading", + "Post > @/emergencyRescue", +); +export const emergencyPlanStatisticsList = declareRequest( + "statisticsLoading", + "Post > @/emergencyRescue", +); +export const emergencyExerciseStatisticsList = declareRequest( + "statisticsLoading", + "Post > @/emergencyRescue", +); +export const dutyLogAndSchedulingRegistrationStatisticsList = declareRequest( + "statisticsLoading", + "Post > @/emergencyRescue", +); +export const eventReportStatisticsList = declareRequest( + "statisticsLoading", + "Post > @/emergencyRescue", +); +export const rescueStatisticsList = declareRequest( + "statisticsLoading", + "Post > @/emergencyRescue", +); +export const emergencyKnowledgeLibraryStatisticsList = declareRequest( + "statisticsLoading", + "Post > @/emergencyRescue", +); diff --git a/src/api/technicalSupportGuaranteeOrganization/index.js b/src/api/technicalSupportGuaranteeOrganization/index.js new file mode 100644 index 0000000..0dc4fec --- /dev/null +++ b/src/api/technicalSupportGuaranteeOrganization/index.js @@ -0,0 +1,26 @@ +import { declareRequest } from "@cqsjjb/jjb-dva-runtime"; + +export const technicalSupportGuaranteeOrganizationList = declareRequest( + "technicalSupportGuaranteeOrganizationLoading", + "Post > @/emergencyRescue", +); +export const technicalSupportGuaranteeOrganizationInfo = declareRequest( + "technicalSupportGuaranteeOrganizationLoading", + "Get > /emergencyRescue", +); +export const technicalSupportGuaranteeOrganizationAdd = declareRequest( + "technicalSupportGuaranteeOrganizationLoading", + "Post > @/emergencyRescue", +); +export const technicalSupportGuaranteeOrganizationUpdate = declareRequest( + "technicalSupportGuaranteeOrganizationLoading", + "Put > @/emergencyRescue", +); +export const technicalSupportGuaranteeOrganizationDelete = declareRequest( + "technicalSupportGuaranteeOrganizationLoading", + "Delete > @/emergencyRescue", +); +export const technicalSupportGuaranteeOrganizationDeleteBatch = declareRequest( + "technicalSupportGuaranteeOrganizationLoading", + "Delete > @/emergencyRescue", +); diff --git a/src/api/transportGuaranteeOrganization/index.js b/src/api/transportGuaranteeOrganization/index.js new file mode 100644 index 0000000..c0f1014 --- /dev/null +++ b/src/api/transportGuaranteeOrganization/index.js @@ -0,0 +1,26 @@ +import { declareRequest } from "@cqsjjb/jjb-dva-runtime"; + +export const transportGuaranteeOrganizationList = declareRequest( + "transportGuaranteeOrganizationLoading", + "Post > @/emergencyRescue", +); +export const transportGuaranteeOrganizationInfo = declareRequest( + "transportGuaranteeOrganizationLoading", + "Get > /emergencyRescue", +); +export const transportGuaranteeOrganizationAdd = declareRequest( + "transportGuaranteeOrganizationLoading", + "Post > @/emergencyRescue", +); +export const transportGuaranteeOrganizationUpdate = declareRequest( + "transportGuaranteeOrganizationLoading", + "Put > @/emergencyRescue", +); +export const transportGuaranteeOrganizationDelete = declareRequest( + "transportGuaranteeOrganizationLoading", + "Delete > @/emergencyRescue", +); +export const transportGuaranteeOrganizationDeleteBatch = declareRequest( + "transportGuaranteeOrganizationLoading", + "Delete > @/emergencyRescue", +); diff --git a/src/components/index.js b/src/components/index.js new file mode 100644 index 0000000..cb0ff5c --- /dev/null +++ b/src/components/index.js @@ -0,0 +1 @@ +export {}; diff --git a/src/enumerate/constant/index.js b/src/enumerate/constant/index.js new file mode 100644 index 0000000..f077757 --- /dev/null +++ b/src/enumerate/constant/index.js @@ -0,0 +1,5 @@ +/** + * 全局常量定义 + */ + +export {}; diff --git a/src/enumerate/context/index.js b/src/enumerate/context/index.js new file mode 100644 index 0000000..2b11e05 --- /dev/null +++ b/src/enumerate/context/index.js @@ -0,0 +1,8 @@ +/** + * 全局上下文定义 + */ + +import React from "react"; + +// 获取antd全局静态方法 +export const InjectContext = React.createContext({}); diff --git a/src/enumerate/namespace/index.js b/src/enumerate/namespace/index.js new file mode 100644 index 0000000..6dddfa4 --- /dev/null +++ b/src/enumerate/namespace/index.js @@ -0,0 +1,24 @@ +/** + * 全局数据状态管理模块定义 + */ + +import { defineNamespace } from "@cqsjjb/jjb-dva-runtime"; + +export const NS_GLOBAL = defineNamespace("global"); +export const NS_STATISTICS = defineNamespace("statistics"); +export const NS_EMERGENCY_EQUIPMENT = defineNamespace("emergencyEquipment"); +export const NS_MATERIAL_EQUIPMENT = defineNamespace("materialEquipment"); +export const NS_EMERGENCY_SHELTER = defineNamespace("emergencyShelter"); +export const NS_DRAINAGE_WELL = defineNamespace("drainageWell"); +export const NS_CLOSED_CARD_PORT = defineNamespace("closedCardPort"); +export const NS_EXPERT_EMERGENCY_RESCUE_TEAM = defineNamespace("expertEmergencyRescueTeam"); +export const NS_EXPERT_EMERGENCY_RESCUE_EXPERT = defineNamespace("expertEmergencyRescueExpert"); +export const NS_EXPERT_EMERGENCY_RESCUE_EXPERT_GROUP = defineNamespace("expertEmergencyRescueExpertGroup"); +export const NS_EMERGENCY_ADDRESS_BOOK = defineNamespace("emergencyAddressBook"); +export const NS_TRANSPORT_GUARANTEE_ORGANIZATION = defineNamespace("transportGuaranteeOrganization"); +export const NS_MEDICAL_GUARANTEE_ORGANIZATION = defineNamespace("medicalGuaranteeOrganization"); +export const NS_COMMUNICATION_GUARANTEE_ORGANIZATION = defineNamespace("communicationGuaranteeOrganization"); +export const NS_TECHNICAL_SUPPORT_GUARANTEE_ORGANIZATION = defineNamespace("technicalSupportGuaranteeOrganization"); +export const NS_ENTERPRISE_EMERGENCY_ORGANIZATION = defineNamespace("enterpriseEmergencyOrganization"); +export const NS_ENTERPRISE_EMERGENCY_PERSONNEL = defineNamespace("enterpriseEmergencyPersonnel"); +export const NS_EMERGENCY_RESCUE_TEAM = defineNamespace("emergencyRescueTeam"); diff --git a/src/main.js b/src/main.js new file mode 100644 index 0000000..e8b9f5c --- /dev/null +++ b/src/main.js @@ -0,0 +1,49 @@ +import { setJJBCommonAntdMessage } from "@cqsjjb/jjb-common-lib"; +import { setup } from "@cqsjjb/jjb-dva-runtime"; +import { message } from "antd"; +import dayjs from "dayjs"; +import { getFileUrlFromServer } from "zy-react-library/utils"; +import "dayjs/locale/zh-cn"; +import "../blessed_by_buddha"; + +require("antd/dist/reset.css"); +require("zy-react-library/css/common.less"); + +dayjs.locale("zh-cn"); +setJJBCommonAntdMessage(message); + +const app = setup(); +getFileUrlFromServer(); +// 非底座环境运行 +if (!window.__POWERED_BY_QIANKUN__) { + // 云组件默认依赖 + window.__coreLib = {}; + window.__coreLib.React = require("react"); + window.__coreLib.ReactDOM = require("react-dom"); + window.__coreLib.jjbCommonLib = require("@cqsjjb/jjb-common-lib"); +} + +/** + * @description 挂载 + * @param props {{ setGlobalState: ({ rendered: boolean }) => void }} + * @returns {Promise<*>} '' + */ +export const mount = async (props) => { + // 云组件默认依赖 + window.__coreLib.React = require("react"); + window.__coreLib.ReactDOM = require("react-dom"); + window.__coreLib.jjbCommonLib = require("@cqsjjb/jjb-common-lib"); + app.mount(props); +}; + +/** + * @description 卸载 + * @param props {object} + * @returns {Promise<*>} '' + */ +export const unmount = async props => app.unmount(props); +/** + * @description 启动 + * @param props + */ +export const bootstrap = async props => app.bootstrap(props); diff --git a/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyAddressBook/List/index.js b/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyAddressBook/List/index.js new file mode 100644 index 0000000..c2b69a2 --- /dev/null +++ b/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyAddressBook/List/index.js @@ -0,0 +1,203 @@ +import { Connect } from "@cqsjjb/jjb-dva-runtime"; +import { Button, message, Modal, Space, Tag } from "antd"; +import { useEffect, useState } from "react"; +import FormBuilder from "zy-react-library/components/FormBuilder"; +import AddIcon from "zy-react-library/components/Icon/AddIcon"; +import Page from "zy-react-library/components/Page"; +import Search from "zy-react-library/components/Search"; +import DictionarySelect from "zy-react-library/components/Select/Dictionary"; +import Table from "zy-react-library/components/Table"; +import useTable from "zy-react-library/hooks/useTable"; +import { NS_EMERGENCY_ADDRESS_BOOK } from "~/enumerate/namespace"; + +const defaultParentId = 0; +const defaultParentName = "(无)此项为顶级分组"; +const addModalTypeNames = { + add: "新增", + update: "编辑", + addChild: "添加下级通讯组", +}; + +function List(props) { + const [parentId, setParentId] = useState(defaultParentId); + const [parentName, setParentName] = useState(defaultParentName); + const [currentId, setCurrentId] = useState(""); + const [addModalVisible, setAddModalVisible] = useState(false); + const [addModalType, setAddModalType] = useState(""); + + const [form] = Search.useForm(); + + const { tableProps, getData } = useTable(props["emergencyAddressBookList"], { + form, + }); + + const onDelete = (record) => { + Modal.confirm({ + title: "删除确认", + content: `确定要删除【${record.todo}】吗`, + onOk: async () => { + const { success } = await props["emergencyAddressBookDelete"]({ id: record.id }); + if (success) { + message.success("删除成功"); + getData(); + } + }, + }); + }; + + return ( + + + ( + + + + )} + columns={[ + { title: "组名称", dataIndex: "todo" }, + { title: "组类型", dataIndex: "todo" }, + { + title: "操作", + width: 300, + fixed: "right", + render: (_, record) => ( + + + + + + + ), + }, + ]} + {...tableProps} + /> + { + addModalVisible && ( + { + setAddModalVisible(false); + setParentId(defaultParentId); + setParentName(defaultParentName); + setCurrentId(""); + }} + /> + ) + } + + ); +} + +const AddModalComponent = (props) => { + const [form] = FormBuilder.useForm(); + + const getData = async () => { + if (props.id) { + const { data } = await props["emergencyAddressBookInfo"]({ id: props.id }); + form.setFieldsValue(data); + } + }; + + useEffect(() => { + getData(); + }, []); + + const onSubmit = async (values) => { + const { success } = await props[props.id ? "emergencyAddressBookUpdate" : "emergencyAddressBookAdd"]({ + ...values, + parentId: props.parentId, + id: props.id, + }); + if (success) { + message.success(`${addModalTypeNames[props.addModalType]}成功`); + props.onCancel(); + props.getData(); + } + }; + + return ( + + {props.parentName}) }, + { name: "todo", label: "通讯录名称" }, + { name: "todo", label: "组类型", render: () }, + ]} + labelCol={{ span: 10 }} + span={24} + showActionButtons={false} + form={form} + onFinish={onSubmit} + /> + + ); +}; + +const AddModal = Connect([NS_EMERGENCY_ADDRESS_BOOK], true)(AddModalComponent); +export default Connect([NS_EMERGENCY_ADDRESS_BOOK], true)(List); diff --git a/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyAddressBook/Member/List/index.js b/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyAddressBook/Member/List/index.js new file mode 100644 index 0000000..0101fce --- /dev/null +++ b/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyAddressBook/Member/List/index.js @@ -0,0 +1,282 @@ +import { Connect } from "@cqsjjb/jjb-dva-runtime"; +import { Button, Descriptions, message, Modal, Space } from "antd"; +import { useEffect, useState } from "react"; +import FormBuilder from "zy-react-library/components/FormBuilder"; +import AddIcon from "zy-react-library/components/Icon/AddIcon"; +import DeleteIcon from "zy-react-library/components/Icon/DeleteIcon"; +import Page from "zy-react-library/components/Page"; +import Search from "zy-react-library/components/Search"; +import DictionarySelect from "zy-react-library/components/Select/Dictionary"; +import Table from "zy-react-library/components/Table"; +import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery"; +import useTable from "zy-react-library/hooks/useTable"; +import { PHONE, TEL_PHONE } from "zy-react-library/regular"; +import { NS_EMERGENCY_ADDRESS_BOOK } from "~/enumerate/namespace"; + +function List(props) { + const [selectedRowKeys, setSelectedRowKeys] = useState([]); + const [currentId, setCurrentId] = useState(""); + const [addModalVisible, setAddModalVisible] = useState(false); + const [infoModalVisible, setInfoModalVisible] = useState(false); + + const query = useGetUrlQuery(); + const [form] = Search.useForm(); + + const { tableProps, getData } = useTable(props["emergencyAddressBookMemberList"], { + form, + params: { emergencyRescueExpertId: query.id }, + }); + + const onDelete = (record) => { + Modal.confirm({ + title: "删除确认", + content: `确定要删除【${record.todo}】吗`, + onOk: async () => { + const { success } = await props["emergencyAddressBookMemberDelete"]({ + id: record.id, + emergencyRescueExpertId: query.id, + }); + if (success) { + message.success("删除成功"); + getData(); + } + }, + }); + }; + + const onDeleteBatch = () => { + if (selectedRowKeys.length === 0) { + message.warning("请选择要删除的记录"); + return; + } + Modal.confirm({ + title: "删除确认", + content: "确认要删除吗?", + onOk: async () => { + const { success } = await props["emergencyAddressBookMemberDeleteBatch"]({ + ids: selectedRowKeys, + emergencyRescueExpertId: query.id, + }); + if (success) { + message.success("删除成功"); + getData(); + } + }, + }); + }; + + return ( + + ) }, + ]} + form={form} + onFinish={getData} + /> +
{ + setSelectedRowKeys(selectedRowKeys); + }, + }} + toolBarRender={() => ( + + + + + )} + columns={[ + { title: "姓名", dataIndex: "todo" }, + { title: "性别", dataIndex: "todo" }, + { title: "移动电话", dataIndex: "todo" }, + { title: "办公电话", dataIndex: "todo" }, + { title: "所属部门", dataIndex: "todo" }, + { title: "职务", dataIndex: "todo" }, + { + title: "操作", + width: 300, + fixed: "right", + render: (_, record) => ( + + + + + + ), + }, + ]} + {...tableProps} + /> + { + addModalVisible && ( + { + setAddModalVisible(false); + setCurrentId(""); + }} + /> + ) + } + { + infoModalVisible && ( + { + setInfoModalVisible(false); + setCurrentId(""); + }} + /> + ) + } + + ); +} + +const AddModalComponent = (props) => { + const [form] = FormBuilder.useForm(); + + const getData = async () => { + if (props.id) { + const { data } = await props["emergencyAddressBookMemberInfo"]({ id: props.id }); + form.setFieldsValue(data); + } + }; + + useEffect(() => { + getData(); + }, []); + + const onSubmit = async (values) => { + const { success } = await props[props.id ? "emergencyAddressBookMemberUpdate" : "emergencyAddressBookMemberAdd"]({ + ...values, + id: props.id, + emergencyRescueExpertId: props.emergencyRescueExpertId, + }); + if (success) { + message.success(`${props.id ? "编辑" : "添加"}成功`); + props.onCancel(); + props.getData(); + } + }; + + return ( + + ) }, + { name: "todo", label: "办公电话", rules: [{ pattern: TEL_PHONE, message: "请输入正确的办公电话" }] }, + { name: "todo", label: "移动电话", rules: [{ pattern: PHONE, message: "请输入正确的移动电话" }] }, + { name: "todo", label: "所属部门" }, + { name: "todo", label: "职务" }, + ]} + labelCol={{ span: 8 }} + span={24} + showActionButtons={false} + form={form} + onFinish={onSubmit} + /> + + ); +}; + +const ViewModalComponent = (props) => { + const [info, setInfo] = useState({}); + + const getData = async () => { + const { data } = await props["emergencyAddressBookMemberInfo"]({ id: props.id }); + setInfo(data); + }; + + useEffect(() => { + getData(); + }, []); + + return ( + 关闭, + ]} + loading={props.emergencyAddressBook.emergencyAddressBookMemberLoading} + > + + + ); +}; + +const AddModal = Connect([NS_EMERGENCY_ADDRESS_BOOK], true)(AddModalComponent); +const ViewModal = Connect([NS_EMERGENCY_ADDRESS_BOOK], true)(ViewModalComponent); +export default Connect([NS_EMERGENCY_ADDRESS_BOOK], true)(List); diff --git a/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyAddressBook/Member/index.js b/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyAddressBook/Member/index.js new file mode 100644 index 0000000..ba6d0e6 --- /dev/null +++ b/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyAddressBook/Member/index.js @@ -0,0 +1,5 @@ +function Member(props) { + return props.children; +} + +export default Member; diff --git a/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyAddressBook/index.js b/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyAddressBook/index.js new file mode 100644 index 0000000..205571b --- /dev/null +++ b/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyAddressBook/index.js @@ -0,0 +1,5 @@ +function EmergencyAddressBook(props) { + return props.children; +} + +export default EmergencyAddressBook; diff --git a/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyExpertTeam/ExpertEmergencyRescueExpert/Add/index.js b/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyExpertTeam/ExpertEmergencyRescueExpert/Add/index.js new file mode 100644 index 0000000..b40fe8e --- /dev/null +++ b/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyExpertTeam/ExpertEmergencyRescueExpert/Add/index.js @@ -0,0 +1,89 @@ +import { Connect } from "@cqsjjb/jjb-dva-runtime"; +import { message } from "antd"; +import { useEffect } from "react"; +import FormBuilder from "zy-react-library/components/FormBuilder"; +import Page from "zy-react-library/components/Page"; +import BasicSelect from "zy-react-library/components/Select/Basic"; +import DictionarySelect from "zy-react-library/components/Select/Dictionary"; +import { FORM_ITEM_RENDER_ENUM } from "zy-react-library/enum/formItemRender"; +import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery"; +import nation from "zy-react-library/json/nation.json"; +import { ID_NUMBER, PHONE, POSTAL_CODE, TEL_PHONE } from "zy-react-library/regular"; +import { NS_EXPERT_EMERGENCY_RESCUE_EXPERT } from "~/enumerate/namespace"; + +function Add(props) { + const query = useGetUrlQuery(); + const [form] = FormBuilder.useForm(); + + const getData = async () => { + if (!query.id) + return; + + const { data } = await props["expertEmergencyRescueExpertInfo"]({ id: query.id }); + form.setFieldsValue(data); + }; + + useEffect(() => { + getData(); + }, []); + + const onSubmit = async (values) => { + const { success } = await props[query.id ? "expertEmergencyRescueExpertUpdate" : "expertEmergencyRescueExpertAdd"]({ + ...values, + id: query.id, + }); + if (success) { + message.success(query.id ? "编辑成功" : "新增成功"); + props.history.goBack(); + } + }; + + return ( + + ) }, + { name: "todo", label: "身份证号", rules: [{ pattern: ID_NUMBER, message: "请输入正确的身份证号" }] }, + { name: "todo", label: "出生日期", render: FORM_ITEM_RENDER_ENUM.DATE }, + { name: "todo", label: "专家类型", render: () }, + { name: "todo", label: "专家密级", render: () }, + { name: "todo", label: "职称" }, + { name: "todo", label: "专业类型" }, + { name: "todo", label: "民族", render: () }, + { name: "todo", label: "政治面貌", render: () }, + { name: "todo", label: "最高学历", render: () }, + { name: "todo", label: "参加工作时间", render: FORM_ITEM_RENDER_ENUM.DATE }, + { name: "todo", label: "办公电话", rules: [{ pattern: TEL_PHONE, message: "请输入正确的办公电话" }] }, + { name: "todo", label: "家庭电话", rules: [{ pattern: TEL_PHONE, message: "请输入正确的家庭电话" }] }, + { name: "todo", label: "移动电话", rules: [{ pattern: PHONE, message: "请输入正确的移动电话" }] }, + { name: "todo", label: "传真", rules: [{ pattern: TEL_PHONE, message: "请输入正确的传真" }] }, + { name: "todo", label: "电子邮箱", rules: [{ type: "email", message: "请输入正确的电子邮箱" }] }, + { name: "todo", label: "健康状况" }, + { name: "todo", label: "行政职务", render: () }, + { name: "todo", label: "专家组职务" }, + { name: "todo", label: "家庭住址" }, + { name: "todo", label: "籍贯" }, + { name: "todo", label: "户口所在地" }, + { name: "todo", label: "通讯地址" }, + { name: "todo", label: "毕业院校" }, + { name: "todo", label: "工作单位" }, + { name: "todo", label: "单位主管部门" }, + { name: "todo", label: "单位邮编", rules: [{ pattern: POSTAL_CODE, message: "请输入正确的单位邮编" }] }, + { name: "todo", label: "排序号", render: FORM_ITEM_RENDER_ENUM.NUMBER }, + { name: "todo", label: "专家特长" }, + { name: "todo", label: "主要成果" }, + { name: "todo", label: "应急工作经历" }, + { name: "todo", label: "工作简历概述", render: FORM_ITEM_RENDER_ENUM.TEXTAREA, span: 24 }, + { name: "todo", label: "备注", render: FORM_ITEM_RENDER_ENUM.TEXTAREA, span: 24 }, + ]} + form={form} + onFinish={onSubmit} + /> + + ); +} + +export default Connect([NS_EXPERT_EMERGENCY_RESCUE_EXPERT], true)(Add); diff --git a/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyExpertTeam/ExpertEmergencyRescueExpert/List/index.js b/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyExpertTeam/ExpertEmergencyRescueExpert/List/index.js new file mode 100644 index 0000000..7fdd8bb --- /dev/null +++ b/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyExpertTeam/ExpertEmergencyRescueExpert/List/index.js @@ -0,0 +1,139 @@ +import { Connect } from "@cqsjjb/jjb-dva-runtime"; +import { Button, message, Modal, Space } from "antd"; +import { useState } from "react"; +import AddIcon from "zy-react-library/components/Icon/AddIcon"; +import DeleteIcon from "zy-react-library/components/Icon/DeleteIcon"; +import Page from "zy-react-library/components/Page"; +import Search from "zy-react-library/components/Search"; +import Table from "zy-react-library/components/Table"; +import useTable from "zy-react-library/hooks/useTable"; +import { NS_EXPERT_EMERGENCY_RESCUE_EXPERT } from "~/enumerate/namespace"; + +function List(props) { + const [selectedRowKeys, setSelectedRowKeys] = useState([]); + + const [form] = Search.useForm(); + + const { tableProps, getData } = useTable(props["expertEmergencyRescueExpertList"], { + form, + }); + + const onDelete = (record) => { + Modal.confirm({ + title: "删除确认", + content: `确定要删除【${record.todo}】吗`, + onOk: async () => { + const { success } = await props["expertEmergencyRescueExpertDelete"]({ id: record.id }); + if (success) { + message.success("删除成功"); + getData(); + } + }, + }); + }; + + const onDeleteBatch = () => { + if (selectedRowKeys.length === 0) { + message.warning("请选择要删除的记录"); + return; + } + Modal.confirm({ + title: "删除确认", + content: "确认要删除吗?", + onOk: async () => { + const { success } = await props["expertEmergencyRescueExpertDeleteBatch"]({ ids: selectedRowKeys }); + if (success) { + message.success("删除成功"); + getData(); + } + }, + }); + }; + + return ( + + +
{ + setSelectedRowKeys(selectedRowKeys); + }, + }} + toolBarRender={() => ( + + + + + )} + columns={[ + { title: "专家姓名", dataIndex: "todo" }, + { title: "性别", dataIndex: "todo" }, + { title: "专家类型", dataIndex: "todo" }, + { title: "办公电话", dataIndex: "todo" }, + { title: "移动电话", dataIndex: "todo" }, + { + title: "操作", + width: 150, + fixed: "right", + render: (_, record) => ( + + + + + + ), + }, + ]} + {...tableProps} + /> + + ); +} + +export default Connect([NS_EXPERT_EMERGENCY_RESCUE_EXPERT], true)(List); diff --git a/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyExpertTeam/ExpertEmergencyRescueExpert/View/index.js b/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyExpertTeam/ExpertEmergencyRescueExpert/View/index.js new file mode 100644 index 0000000..7eae2c0 --- /dev/null +++ b/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyExpertTeam/ExpertEmergencyRescueExpert/View/index.js @@ -0,0 +1,71 @@ +import { Connect } from "@cqsjjb/jjb-dva-runtime"; +import { Descriptions, Spin } from "antd"; +import { useEffect, useState } from "react"; +import Page from "zy-react-library/components/Page"; +import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery"; +import { NS_EXPERT_EMERGENCY_RESCUE_EXPERT } from "~/enumerate/namespace"; + +function View(props) { + const query = useGetUrlQuery(); + + const [info, setInfo] = useState({}); + + const getData = async () => { + const { data } = await props["expertEmergencyRescueExpertInfo"]({ id: query.id }); + setInfo(data); + }; + + useEffect(() => { + getData(); + }, []); + + return ( + + + + + + ); +} + +export default Connect([NS_EXPERT_EMERGENCY_RESCUE_EXPERT], true)(View); diff --git a/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyExpertTeam/ExpertEmergencyRescueExpert/index.js b/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyExpertTeam/ExpertEmergencyRescueExpert/index.js new file mode 100644 index 0000000..d47d63d --- /dev/null +++ b/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyExpertTeam/ExpertEmergencyRescueExpert/index.js @@ -0,0 +1,5 @@ +function EmergencyRescueExpert(props) { + return props.children; +} + +export default EmergencyRescueExpert; diff --git a/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyExpertTeam/ExpertEmergencyRescueExpertGroup/Add/index.js b/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyExpertTeam/ExpertEmergencyRescueExpertGroup/Add/index.js new file mode 100644 index 0000000..55598ef --- /dev/null +++ b/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyExpertTeam/ExpertEmergencyRescueExpertGroup/Add/index.js @@ -0,0 +1,74 @@ +import { Connect } from "@cqsjjb/jjb-dva-runtime"; +import { message } from "antd"; +import { useEffect } from "react"; +import FormBuilder from "zy-react-library/components/FormBuilder"; +import Page from "zy-react-library/components/Page"; +import DictionarySelect from "zy-react-library/components/Select/Dictionary"; +import { FORM_ITEM_RENDER_ENUM } from "zy-react-library/enum/formItemRender"; +import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery"; +import { PHONE, POSTAL_CODE, TEL_PHONE } from "zy-react-library/regular"; +import { NS_EXPERT_EMERGENCY_RESCUE_EXPERT_GROUP } from "~/enumerate/namespace"; + +function Add(props) { + const query = useGetUrlQuery(); + const [form] = FormBuilder.useForm(); + + const getData = async () => { + if (!query.id) + return; + + const { data } = await props["expertEmergencyRescueExpertGroupInfo"]({ id: query.id }); + form.setFieldsValue(data); + }; + + useEffect(() => { + getData(); + }, []); + + const onSubmit = async (values) => { + const { success } = await props[query.id ? "expertEmergencyRescueExpertGroupUpdate" : "expertEmergencyRescueExpertGroupAdd"]({ + ...values, + id: query.id, + }); + if (success) { + message.success(query.id ? "编辑成功" : "新增成功"); + props.history.goBack(); + } + }; + + return ( + + ) }, + { name: "todo", label: "专家组级别", render: () }, + { name: "todo", label: "联系电话", rules: [{ pattern: PHONE, message: "请输入正确的联系电话" }] }, + { name: "todo", label: "传真", rules: [{ pattern: TEL_PHONE, message: "请输入正确的传真" }] }, + { name: "todo", label: "人数", render: FORM_ITEM_RENDER_ENUM.NUMBER }, + { name: "todo", label: "组建单位" }, + { name: "todo", label: "组件单位邮编", rules: [{ pattern: POSTAL_CODE, message: "请输入正确的组件单位邮编" }] }, + { name: "todo", label: "组建单位地址", span: 24 }, + { name: "todo", label: "负责人" }, + { name: "todo", label: "负责人办公电话", rules: [{ pattern: TEL_PHONE, message: "请输入正确的负责人办公电话" }] }, + { name: "todo", label: "负责人移动电话", rules: [{ pattern: PHONE, message: "请输入正确的负责人移动电话" }] }, + { name: "todo", label: "负责人住宅电话", rules: [{ pattern: TEL_PHONE, message: "请输入正确的负责人住宅电话" }] }, + { name: "todo", label: "联系人" }, + { name: "todo", label: "联系人办公电话", rules: [{ pattern: TEL_PHONE, message: "请输入正确的联系人办公电话" }] }, + { name: "todo", label: "联系人移动电话", rules: [{ pattern: PHONE, message: "请输入正确的联系人移动电话" }] }, + { name: "todo", label: "联系人住宅电话", rules: [{ pattern: TEL_PHONE, message: "请输入正确的联系人住宅电话" }] }, + { name: "todo", label: "联系人电子邮箱", rules: [{ type: "email", message: "请输入正确的联系人电子邮箱" }] }, + { name: "todo", label: "排序号", render: FORM_ITEM_RENDER_ENUM.NUMBER }, + { name: "todo", label: "专家组介绍", render: FORM_ITEM_RENDER_ENUM.TEXTAREA, span: 24 }, + { name: "todo", label: "备注", render: FORM_ITEM_RENDER_ENUM.TEXTAREA, span: 24 }, + ]} + form={form} + onFinish={onSubmit} + /> + + ); +} + +export default Connect([NS_EXPERT_EMERGENCY_RESCUE_EXPERT_GROUP], true)(Add); diff --git a/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyExpertTeam/ExpertEmergencyRescueExpertGroup/List/index.js b/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyExpertTeam/ExpertEmergencyRescueExpertGroup/List/index.js new file mode 100644 index 0000000..8d58b0a --- /dev/null +++ b/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyExpertTeam/ExpertEmergencyRescueExpertGroup/List/index.js @@ -0,0 +1,146 @@ +import { Connect } from "@cqsjjb/jjb-dva-runtime"; +import { Button, message, Modal, Space } from "antd"; +import { useState } from "react"; +import AddIcon from "zy-react-library/components/Icon/AddIcon"; +import DeleteIcon from "zy-react-library/components/Icon/DeleteIcon"; +import Page from "zy-react-library/components/Page"; +import Search from "zy-react-library/components/Search"; +import DictionarySelect from "zy-react-library/components/Select/Dictionary"; +import Table from "zy-react-library/components/Table"; +import useTable from "zy-react-library/hooks/useTable"; +import { NS_EXPERT_EMERGENCY_RESCUE_EXPERT_GROUP } from "~/enumerate/namespace"; + +function List(props) { + const [selectedRowKeys, setSelectedRowKeys] = useState([]); + + const [form] = Search.useForm(); + + const { tableProps, getData } = useTable(props["expertEmergencyRescueExpertGroupList"], { + form, + }); + + const onDelete = (record) => { + Modal.confirm({ + title: "删除确认", + content: `确定要删除【${record.todo}】吗`, + onOk: async () => { + const { success } = await props["expertEmergencyRescueExpertGroupDelete"]({ id: record.id }); + if (success) { + message.success("删除成功"); + getData(); + } + }, + }); + }; + + const onDeleteBatch = () => { + if (selectedRowKeys.length === 0) { + message.warning("请选择要删除的记录"); + return; + } + Modal.confirm({ + title: "删除确认", + content: "确认要删除吗?", + onOk: async () => { + const { success } = await props["expertEmergencyRescueExpertGroupDeleteBatch"]({ ids: selectedRowKeys }); + if (success) { + message.success("删除成功"); + getData(); + } + }, + }); + }; + + return ( + + ) }, + ]} + form={form} + onFinish={getData} + /> +
{ + setSelectedRowKeys(selectedRowKeys); + }, + }} + toolBarRender={() => ( + + + + + )} + columns={[ + { title: "专家组名称", dataIndex: "todo" }, + { title: "组类型", dataIndex: "todo" }, + { + title: "操作", + width: 200, + fixed: "right", + render: (_, record) => ( + + + + + + + ), + }, + ]} + {...tableProps} + /> + + ); +} + +export default Connect([NS_EXPERT_EMERGENCY_RESCUE_EXPERT_GROUP], true)(List); diff --git a/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyExpertTeam/ExpertEmergencyRescueExpertGroup/Member/List/index.js b/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyExpertTeam/ExpertEmergencyRescueExpertGroup/Member/List/index.js new file mode 100644 index 0000000..dff0c19 --- /dev/null +++ b/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyExpertTeam/ExpertEmergencyRescueExpertGroup/Member/List/index.js @@ -0,0 +1,208 @@ +import { Connect } from "@cqsjjb/jjb-dva-runtime"; +import { Button, message, Modal, Space } from "antd"; +import { useState } from "react"; +import AddIcon from "zy-react-library/components/Icon/AddIcon"; +import DeleteIcon from "zy-react-library/components/Icon/DeleteIcon"; +import Page from "zy-react-library/components/Page"; +import Search from "zy-react-library/components/Search"; +import Table from "zy-react-library/components/Table"; +import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery"; +import useTable from "zy-react-library/hooks/useTable"; +import { NS_EXPERT_EMERGENCY_RESCUE_EXPERT, NS_EXPERT_EMERGENCY_RESCUE_EXPERT_GROUP } from "~/enumerate/namespace"; + +function List(props) { + const [selectedRowKeys, setSelectedRowKeys] = useState([]); + const [addModalVisible, setAddModalVisible] = useState(false); + + const query = useGetUrlQuery(); + const [form] = Search.useForm(); + + const { tableProps, getData } = useTable(props["expertEmergencyRescueExpertGroupDownExpertEmergencyRescueExpertList"], { + form, + params: { emergencyRescueExpertGroupId: query.id }, + }); + + const onDelete = (record) => { + Modal.confirm({ + title: "删除确认", + content: `确定要删除【${record.todo}】吗`, + onOk: async () => { + const { success } = await props["expertEmergencyRescueExpertGroupDownExpertEmergencyRescueExpertDelete"]({ + id: record.id, + emergencyRescueExpertGroupId: query.id, + }); + if (success) { + message.success("删除成功"); + getData(); + } + }, + }); + }; + + const onDeleteBatch = () => { + if (selectedRowKeys.length === 0) { + message.warning("请选择要删除的记录"); + return; + } + Modal.confirm({ + title: "删除确认", + content: "确认要删除吗?", + onOk: async () => { + const { success } = await props["expertEmergencyRescueExpertGroupDownExpertEmergencyRescueExpertDeleteBatch"]({ + ids: selectedRowKeys, + emergencyRescueExpertGroupId: query.id, + }); + if (success) { + message.success("删除成功"); + getData(); + } + }, + }); + }; + + return ( + + +
{ + setSelectedRowKeys(selectedRowKeys); + }, + }} + toolBarRender={() => ( + + + + + )} + columns={[ + { title: "专家姓名", dataIndex: "todo" }, + { title: "性别", dataIndex: "todo" }, + { title: "专家类型", dataIndex: "todo" }, + { title: "办公电话", dataIndex: "todo" }, + { title: "移动电话", dataIndex: "todo" }, + { + title: "操作", + width: 100, + fixed: "right", + render: (_, record) => ( + + + + ), + }, + ]} + {...tableProps} + /> + { + addModalVisible && ( + { + setAddModalVisible(false); + }} + /> + ) + } + + ); +} + +const AddModalComponent = (props) => { + const [selectedRowKeys, setSelectedRowKeys] = useState([]); + + const [form] = Search.useForm(); + + const { tableProps, getData } = useTable(props["expertEmergencyRescueExpertList"], { + form, + useStorageQueryCriteria: false, + }); + + const onSubmit = async () => { + if (selectedRowKeys.length === 0) { + return message.warning("请选择要添加的记录"); + } + const { success } = props["expertEmergencyRescueExpertGroupDownExpertEmergencyRescueExpertAdd"]({ + ids: selectedRowKeys, + emergencyRescueExpertGroupId: props.emergencyRescueExpertGroupId, + }); + if (success) { + message.success("添加成功"); + props.onClose(); + props.getData(); + } + }; + + return ( + + +
{ + setSelectedRowKeys(selectedRowKeys); + }, + }} + options={false} + disabledResizer={true} + columns={[ + { title: "姓名", dataIndex: "todo" }, + { title: "性别", dataIndex: "todo" }, + ]} + {...tableProps} + /> + + ); +}; + +const AddModal = Connect([NS_EXPERT_EMERGENCY_RESCUE_EXPERT_GROUP, NS_EXPERT_EMERGENCY_RESCUE_EXPERT], true)(AddModalComponent); +export default Connect([NS_EXPERT_EMERGENCY_RESCUE_EXPERT_GROUP], true)(List); diff --git a/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyExpertTeam/ExpertEmergencyRescueExpertGroup/Member/index.js b/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyExpertTeam/ExpertEmergencyRescueExpertGroup/Member/index.js new file mode 100644 index 0000000..ba6d0e6 --- /dev/null +++ b/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyExpertTeam/ExpertEmergencyRescueExpertGroup/Member/index.js @@ -0,0 +1,5 @@ +function Member(props) { + return props.children; +} + +export default Member; diff --git a/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyExpertTeam/ExpertEmergencyRescueExpertGroup/View/index.js b/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyExpertTeam/ExpertEmergencyRescueExpertGroup/View/index.js new file mode 100644 index 0000000..b914e5f --- /dev/null +++ b/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyExpertTeam/ExpertEmergencyRescueExpertGroup/View/index.js @@ -0,0 +1,58 @@ +import { Connect } from "@cqsjjb/jjb-dva-runtime"; +import { Descriptions, Spin } from "antd"; +import { useEffect, useState } from "react"; +import Page from "zy-react-library/components/Page"; +import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery"; +import { NS_EXPERT_EMERGENCY_RESCUE_EXPERT_GROUP } from "~/enumerate/namespace"; + +function View(props) { + const query = useGetUrlQuery(); + + const [info, setInfo] = useState({}); + + const getData = async () => { + const { data } = await props["expertEmergencyRescueExpertGroupInfo"]({ id: query.id }); + setInfo(data); + }; + + useEffect(() => { + getData(); + }, []); + + return ( + + + + + + ); +} + +export default Connect([NS_EXPERT_EMERGENCY_RESCUE_EXPERT_GROUP], true)(View); diff --git a/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyExpertTeam/ExpertEmergencyRescueExpertGroup/index.js b/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyExpertTeam/ExpertEmergencyRescueExpertGroup/index.js new file mode 100644 index 0000000..acc5d35 --- /dev/null +++ b/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyExpertTeam/ExpertEmergencyRescueExpertGroup/index.js @@ -0,0 +1,5 @@ +function emergencyRescueExpertGroup(props) { + return props.children; +} + +export default emergencyRescueExpertGroup; diff --git a/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyExpertTeam/ExpertEmergencyRescueTeam/Add/index.js b/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyExpertTeam/ExpertEmergencyRescueTeam/Add/index.js new file mode 100644 index 0000000..37405d8 --- /dev/null +++ b/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyExpertTeam/ExpertEmergencyRescueTeam/Add/index.js @@ -0,0 +1,101 @@ +import { Connect } from "@cqsjjb/jjb-dva-runtime"; +import { message } from "antd"; +import { useEffect } from "react"; +import AreaCascader from "zy-react-library/components/Cascader/Area"; +import FormBuilder from "zy-react-library/components/FormBuilder"; +import Map from "zy-react-library/components/Map"; +import Page from "zy-react-library/components/Page"; +import DictionarySelect from "zy-react-library/components/Select/Dictionary"; +import DepartmentSelectTree from "zy-react-library/components/SelectTree/Department/Gwj"; +import { FORM_ITEM_RENDER_ENUM } from "zy-react-library/enum/formItemRender"; +import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery"; +import { PHONE, POSTAL_CODE, TEL_PHONE } from "zy-react-library/regular"; +import { NS_EXPERT_EMERGENCY_RESCUE_TEAM } from "~/enumerate/namespace"; + +function Add(props) { + const query = useGetUrlQuery(); + const [form] = FormBuilder.useForm(); + + const getData = async () => { + if (!query.id) + return; + + const { data } = await props["expertEmergencyRescueTeamInfo"]({ id: query.id }); + form.setFieldsValue(data); + }; + + useEffect(() => { + getData(); + }, []); + + const onSubmit = async (values) => { + const { success } = await props[query.id ? "expertEmergencyRescueTeamUpdate" : "expertEmergencyRescueTeamAdd"]({ + ...values, + id: query.id, + }); + if (success) { + message.success(query.id ? "编辑成功" : "新增成功"); + props.history.goBack(); + } + }; + + return ( + + ) }, + { name: "todo", label: "级别", render: () }, + { name: "todo", label: "密级", render: () }, + { name: "todo", label: "办公电话", rules: [{ pattern: TEL_PHONE, message: "请输入正确的电话号码" }] }, + { name: "todo", label: "所属区域", render: (), span: 24 }, + { key: "map", customizeRender: true, render: (), span: 24 }, + { name: "todo", label: "负责人", rules: [{ required: true, message: "请输入负责人" }] }, + { + name: "todo", + label: "负责人办公电话", + rules: [ + { required: true, message: "请输入负责人办公电话" }, + { pattern: TEL_PHONE, message: "请输入正确的电话号码" }, + ], + }, + { name: "todo", label: "负责人移动电话", rules: [{ pattern: PHONE, message: "请输入正确的电话号码" }] }, + { name: "todo", label: "负责人住宅电话", rules: [{ pattern: TEL_PHONE, message: "请输入正确的电话号码" }] }, + { name: "todo", label: "联系人" }, + { name: "todo", label: "联系人办公电话", rules: [{ pattern: TEL_PHONE, message: "请输入正确的电话号码" }] }, + { name: "todo", label: "联系人移动电话", rules: [{ pattern: PHONE, message: "请输入正确的电话号码" }] }, + { name: "todo", label: "联系人住宅电话", rules: [{ pattern: TEL_PHONE, message: "请输入正确的电话号码" }] }, + { name: "todo", label: "联系人邮箱", rules: [{ type: "email", message: "请输入正确的邮箱地址" }], span: 24 }, + { name: "todo", label: "邮编", rules: [{ pattern: POSTAL_CODE, message: "请输入正确的邮编" }] }, + { name: "todo", label: "传真", rules: [{ pattern: TEL_PHONE, message: "请输入正确的传真号码" }] }, + { name: "todo", label: "主管单位名称", render: () }, + { name: "todo", label: "主管单位地址" }, + { name: "todo", label: "总人数", render: FORM_ITEM_RENDER_ENUM.NUMBER }, + { name: "todo", label: "成立时间", render: FORM_ITEM_RENDER_ENUM.DATE }, + { name: "todo", label: "应急通讯方式", span: 24 }, + { name: "todo", label: "主要职责", span: 24, render: FORM_ITEM_RENDER_ENUM.TEXTAREA }, + { name: "todo", label: "主要装备描述", span: 24, render: FORM_ITEM_RENDER_ENUM.TEXTAREA }, + { name: "todo", label: "专长描述", span: 24, render: FORM_ITEM_RENDER_ENUM.TEXTAREA }, + { name: "todo", label: "应急救援经历", span: 24, render: FORM_ITEM_RENDER_ENUM.TEXTAREA }, + { + name: "todo", + label: "资质等级", + render: (), + }, + { name: "todo", label: "预计准备时间", render: FORM_ITEM_RENDER_ENUM.DATE }, + { name: "todo", label: "集合出发地点" }, + { name: "todo", label: "自备交通工具" }, + { name: "todo", label: "需要后备支援", span: 24 }, + { name: "todo", label: "备注", span: 24, render: FORM_ITEM_RENDER_ENUM.TEXTAREA }, + ]} + form={form} + onFinish={onSubmit} + /> + + ); +} + +export default Connect([NS_EXPERT_EMERGENCY_RESCUE_TEAM], true)(Add); diff --git a/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyExpertTeam/ExpertEmergencyRescueTeam/EmergencyRescuePersonnel/Add/index.js b/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyExpertTeam/ExpertEmergencyRescueTeam/EmergencyRescuePersonnel/Add/index.js new file mode 100644 index 0000000..ff988bf --- /dev/null +++ b/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyExpertTeam/ExpertEmergencyRescueTeam/EmergencyRescuePersonnel/Add/index.js @@ -0,0 +1,62 @@ +import { Connect } from "@cqsjjb/jjb-dva-runtime"; +import { message } from "antd"; +import { useEffect } from "react"; +import FormBuilder from "zy-react-library/components/FormBuilder"; +import Page from "zy-react-library/components/Page"; +import DictionarySelect from "zy-react-library/components/Select/Dictionary"; +import { FORM_ITEM_RENDER_ENUM } from "zy-react-library/enum/formItemRender"; +import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery"; +import { PHONE, TEL_PHONE } from "zy-react-library/regular"; +import { NS_EXPERT_EMERGENCY_RESCUE_TEAM } from "~/enumerate/namespace"; + +function Add(props) { + const query = useGetUrlQuery(); + const [form] = FormBuilder.useForm(); + + const getData = async () => { + if (!query.id) + return; + + const { data } = await props["expertEmergencyRescuePersonnelInfo"]({ id: query.id }); + form.setFieldsValue(data); + }; + + useEffect(() => { + getData(); + }, []); + + const onSubmit = async (values) => { + const { success } = await props[query.id ? "expertEmergencyRescuePersonnelUpdate" : "expertEmergencyRescuePersonnelAdd"]({ + ...values, + id: query.id, + emergencyRescueTeamId: query.emergencyRescueTeamId, + }); + if (success) { + message.success(query.id ? "编辑成功" : "新增成功"); + props.history.goBack(); + } + }; + + return ( + + ) }, + { name: "todo", label: "年龄", render: FORM_ITEM_RENDER_ENUM.NUMBER }, + { name: "todo", label: "手机号", render: FORM_ITEM_RENDER_ENUM.NUMBER, rules: [{ pattern: PHONE, message: "请输入正确的手机号" }] }, + { name: "todo", label: "办公电话", render: FORM_ITEM_RENDER_ENUM.NUMBER, rules: [{ pattern: TEL_PHONE, message: "请输入正确的办公电话" }] }, + { name: "todo", label: "救援队职位名称" }, + { name: "todo", label: "所在单位名称" }, + { name: "todo", label: "所在单位岗位名称" }, + { name: "todo", label: "描述", render: FORM_ITEM_RENDER_ENUM.TEXTAREA, span: 24 }, + ]} + form={form} + onFinish={onSubmit} + /> + + ); +} + +export default Connect([NS_EXPERT_EMERGENCY_RESCUE_TEAM], true)(Add); diff --git a/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyExpertTeam/ExpertEmergencyRescueTeam/EmergencyRescuePersonnel/List/index.js b/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyExpertTeam/ExpertEmergencyRescueTeam/EmergencyRescuePersonnel/List/index.js new file mode 100644 index 0000000..8dc10d3 --- /dev/null +++ b/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyExpertTeam/ExpertEmergencyRescueTeam/EmergencyRescuePersonnel/List/index.js @@ -0,0 +1,151 @@ +import { Connect } from "@cqsjjb/jjb-dva-runtime"; +import { Button, message, Modal, Space } from "antd"; +import { useState } from "react"; +import AddIcon from "zy-react-library/components/Icon/AddIcon"; +import DeleteIcon from "zy-react-library/components/Icon/DeleteIcon"; +import Page from "zy-react-library/components/Page"; +import Search from "zy-react-library/components/Search"; +import Table from "zy-react-library/components/Table"; +import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery"; +import useTable from "zy-react-library/hooks/useTable"; +import { NS_EXPERT_EMERGENCY_RESCUE_TEAM } from "~/enumerate/namespace"; + +function List(props) { + const [selectedRowKeys, setSelectedRowKeys] = useState([]); + + const query = useGetUrlQuery(); + const [form] = Search.useForm(); + + const { tableProps, getData } = useTable(props["expertEmergencyRescuePersonnelList"], { + form, + params: { emergencyRescueTeamId: query.id }, + }); + + const onDelete = (record) => { + Modal.confirm({ + title: "删除确认", + content: `确定要删除【${record.todo}】吗`, + onOk: async () => { + const { success } = await props["expertEmergencyRescuePersonnelDelete"]({ + id: record.id, + emergencyRescueTeamId: query.id, + }); + if (success) { + message.success("删除成功"); + getData(); + } + }, + }); + }; + + const onDeleteBatch = () => { + if (selectedRowKeys.length === 0) { + message.warning("请选择要删除的记录"); + return; + } + Modal.confirm({ + title: "删除确认", + content: "确认要删除吗?", + onOk: async () => { + const { success } = await props["expertEmergencyRescuePersonnelDeleteBatch"]({ + ids: selectedRowKeys, + emergencyRescueTeamId: query.id, + }); + if (success) { + message.success("删除成功"); + getData(); + } + }, + }); + }; + + return ( + + +
{ + setSelectedRowKeys(selectedRowKeys); + }, + }} + toolBarRender={() => ( + + + + + )} + columns={[ + { title: "姓名", dataIndex: "todo" }, + { title: "性别", dataIndex: "todo" }, + { title: "年龄", dataIndex: "todo" }, + { title: "手机号", dataIndex: "todo" }, + { title: "座机电话号", dataIndex: "todo" }, + { title: "救援队职位名称", dataIndex: "todo" }, + { title: "所在单位名称", dataIndex: "todo" }, + { title: "所在单位岗位名称", dataIndex: "todo" }, + { + title: "操作", + width: 150, + fixed: "right", + render: (_, record) => ( + + + + + + ), + }, + ]} + {...tableProps} + /> + + ); +} + +export default Connect([NS_EXPERT_EMERGENCY_RESCUE_TEAM], true)(List); diff --git a/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyExpertTeam/ExpertEmergencyRescueTeam/EmergencyRescuePersonnel/View/index.js b/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyExpertTeam/ExpertEmergencyRescueTeam/EmergencyRescuePersonnel/View/index.js new file mode 100644 index 0000000..d5d226a --- /dev/null +++ b/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyExpertTeam/ExpertEmergencyRescueTeam/EmergencyRescuePersonnel/View/index.js @@ -0,0 +1,46 @@ +import { Connect } from "@cqsjjb/jjb-dva-runtime"; +import { Descriptions, Spin } from "antd"; +import { useEffect, useState } from "react"; +import Page from "zy-react-library/components/Page"; +import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery"; +import { NS_EXPERT_EMERGENCY_RESCUE_TEAM } from "~/enumerate/namespace"; + +function View(props) { + const query = useGetUrlQuery(); + + const [info, setInfo] = useState({}); + + const getData = async () => { + const { data } = await props["expertEmergencyRescuePersonnelInfo"]({ id: query.id }); + setInfo(data); + }; + + useEffect(() => { + getData(); + }, []); + + return ( + + + + + + ); +} + +export default Connect([NS_EXPERT_EMERGENCY_RESCUE_TEAM], true)(View); diff --git a/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyExpertTeam/ExpertEmergencyRescueTeam/EmergencyRescuePersonnel/index.js b/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyExpertTeam/ExpertEmergencyRescueTeam/EmergencyRescuePersonnel/index.js new file mode 100644 index 0000000..d23b022 --- /dev/null +++ b/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyExpertTeam/ExpertEmergencyRescueTeam/EmergencyRescuePersonnel/index.js @@ -0,0 +1,5 @@ +function EmergencyRescuePersonnel(props) { + return props.children; +} + +export default EmergencyRescuePersonnel; diff --git a/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyExpertTeam/ExpertEmergencyRescueTeam/List/index.js b/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyExpertTeam/ExpertEmergencyRescueTeam/List/index.js new file mode 100644 index 0000000..f8d995c --- /dev/null +++ b/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyExpertTeam/ExpertEmergencyRescueTeam/List/index.js @@ -0,0 +1,149 @@ +import { Connect } from "@cqsjjb/jjb-dva-runtime"; +import { Button, message, Modal, Space } from "antd"; +import { useState } from "react"; +import AddIcon from "zy-react-library/components/Icon/AddIcon"; +import DeleteIcon from "zy-react-library/components/Icon/DeleteIcon"; +import Page from "zy-react-library/components/Page"; +import Search from "zy-react-library/components/Search"; +import Table from "zy-react-library/components/Table"; +import useTable from "zy-react-library/hooks/useTable"; +import { NS_EXPERT_EMERGENCY_RESCUE_TEAM } from "~/enumerate/namespace"; + +function List(props) { + const [selectedRowKeys, setSelectedRowKeys] = useState([]); + + const [form] = Search.useForm(); + + const { tableProps, getData } = useTable(props["expertEmergencyRescueTeamList"], { + form, + }); + + const onDelete = (record) => { + Modal.confirm({ + title: "删除确认", + content: `确定要删除【${record.todo}】吗`, + onOk: async () => { + const { success } = await props["expertEmergencyRescueTeamDelete"]({ id: record.id }); + if (success) { + message.success("删除成功"); + getData(); + } + }, + }); + }; + + const onDeleteBatch = () => { + if (selectedRowKeys.length === 0) { + message.warning("请选择要删除的记录"); + return; + } + Modal.confirm({ + title: "删除确认", + content: "确认要删除吗?", + onOk: async () => { + const { success } = await props["expertEmergencyRescueTeamDeleteBatch"]({ ids: selectedRowKeys }); + if (success) { + message.success("删除成功"); + getData(); + } + }, + }); + }; + + return ( + + +
{ + setSelectedRowKeys(selectedRowKeys); + }, + }} + toolBarRender={() => ( + + + + + )} + columns={[ + { title: "队伍名称", dataIndex: "todo" }, + { title: "队伍类型", dataIndex: "todo" }, + { title: "队伍级别", dataIndex: "todo" }, + { title: "队伍地址", dataIndex: "todo" }, + { title: "负责人办公电话", dataIndex: "todo" }, + { title: "负责人移动电话", dataIndex: "todo" }, + { title: "负责人固定电话", dataIndex: "todo" }, + { + title: "操作", + width: 200, + fixed: "right", + render: (_, record) => ( + + + + + + + ), + }, + ]} + {...tableProps} + /> + + ); +} + +export default Connect([NS_EXPERT_EMERGENCY_RESCUE_TEAM], true)(List); diff --git a/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyExpertTeam/ExpertEmergencyRescueTeam/View/index.js b/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyExpertTeam/ExpertEmergencyRescueTeam/View/index.js new file mode 100644 index 0000000..f67f811 --- /dev/null +++ b/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyExpertTeam/ExpertEmergencyRescueTeam/View/index.js @@ -0,0 +1,72 @@ +import { Connect } from "@cqsjjb/jjb-dva-runtime"; +import { Descriptions, Spin } from "antd"; +import { useEffect, useState } from "react"; +import Page from "zy-react-library/components/Page"; +import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery"; +import { NS_EXPERT_EMERGENCY_RESCUE_TEAM } from "~/enumerate/namespace"; + +function View(props) { + const query = useGetUrlQuery(); + + const [info, setInfo] = useState({}); + + const getData = async () => { + const { data } = await props["expertEmergencyRescueTeamInfo"]({ id: query.id }); + setInfo(data); + }; + + useEffect(() => { + getData(); + }, []); + + return ( + + + + + + ); +} + +export default Connect([NS_EXPERT_EMERGENCY_RESCUE_TEAM], true)(View); diff --git a/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyExpertTeam/ExpertEmergencyRescueTeam/index.js b/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyExpertTeam/ExpertEmergencyRescueTeam/index.js new file mode 100644 index 0000000..afb0498 --- /dev/null +++ b/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyExpertTeam/ExpertEmergencyRescueTeam/index.js @@ -0,0 +1,5 @@ +function EmergencyRescueTeam(props) { + return props.children; +} + +export default EmergencyRescueTeam; diff --git a/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyExpertTeam/index.js b/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyExpertTeam/index.js new file mode 100644 index 0000000..35ad72a --- /dev/null +++ b/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyExpertTeam/index.js @@ -0,0 +1,5 @@ +function EmergencyExpertTeam(props) { + return props.children; +} + +export default EmergencyExpertTeam; diff --git a/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyManagementOrganization/EnterpriseEmergencyOrganization/Add/index.js b/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyManagementOrganization/EnterpriseEmergencyOrganization/Add/index.js new file mode 100644 index 0000000..8aa5c4f --- /dev/null +++ b/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyManagementOrganization/EnterpriseEmergencyOrganization/Add/index.js @@ -0,0 +1,67 @@ +import { Connect } from "@cqsjjb/jjb-dva-runtime"; +import { message } from "antd"; +import { useEffect } from "react"; +import AreaCascader from "zy-react-library/components/Cascader/Area"; +import FormBuilder from "zy-react-library/components/FormBuilder"; +import Map from "zy-react-library/components/Map"; +import Page from "zy-react-library/components/Page"; +import DictionarySelect from "zy-react-library/components/Select/Dictionary"; +import { FORM_ITEM_RENDER_ENUM } from "zy-react-library/enum/formItemRender"; +import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery"; +import { TEL_PHONE } from "zy-react-library/regular"; +import { NS_ENTERPRISE_EMERGENCY_ORGANIZATION } from "~/enumerate/namespace"; + +function Add(props) { + const query = useGetUrlQuery(); + const [form] = FormBuilder.useForm(); + + const getData = async () => { + if (!query.id) + return; + + const { data } = await props["enterpriseEmergencyOrganizationInfo"]({ id: query.id }); + form.setFieldsValue(data); + }; + + useEffect(() => { + getData(); + }, []); + + const onSubmit = async (values) => { + const { success } = await props[query.id ? "enterpriseEmergencyOrganizationUpdate" : "enterpriseEmergencyOrganizationAdd"]({ + ...values, + id: query.id, + }); + if (success) { + message.success(query.id ? "编辑成功" : "新增成功"); + props.history.goBack(); + } + }; + + return ( + + ), + }, + { name: "todo", label: "机构级别", render: () }, + { name: "todo", label: "机构职责", render: FORM_ITEM_RENDER_ENUM.TEXTAREA, span: 24 }, + { name: "todo", label: "值班电话", rules: [{ required: true, message: "请输入值班电话" }, { pattern: TEL_PHONE, message: "请输入正确的值班电话" }] }, + { name: "todo", label: "所属区域", render: () }, + { name: "todo", label: "所属单位", span: 24 }, + { key: "map", customizeRender: true, render: (), span: 24 }, + ]} + form={form} + onFinish={onSubmit} + /> + + ); +} + +export default Connect([NS_ENTERPRISE_EMERGENCY_ORGANIZATION], true)(Add); diff --git a/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyManagementOrganization/EnterpriseEmergencyOrganization/List/index.js b/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyManagementOrganization/EnterpriseEmergencyOrganization/List/index.js new file mode 100644 index 0000000..a44edaa --- /dev/null +++ b/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyManagementOrganization/EnterpriseEmergencyOrganization/List/index.js @@ -0,0 +1,150 @@ +import { Connect } from "@cqsjjb/jjb-dva-runtime"; +import { Button, message, Modal, Space } from "antd"; +import { useState } from "react"; +import AddIcon from "zy-react-library/components/Icon/AddIcon"; +import DeleteIcon from "zy-react-library/components/Icon/DeleteIcon"; +import Page from "zy-react-library/components/Page"; +import Search from "zy-react-library/components/Search"; +import DictionarySelect from "zy-react-library/components/Select/Dictionary"; +import Table from "zy-react-library/components/Table"; +import useTable from "zy-react-library/hooks/useTable"; +import { NS_ENTERPRISE_EMERGENCY_ORGANIZATION } from "~/enumerate/namespace"; + +function List(props) { + const [selectedRowKeys, setSelectedRowKeys] = useState([]); + + const [form] = Search.useForm(); + + const { tableProps, getData } = useTable(props["enterpriseEmergencyOrganizationList"], { + form, + }); + + const onDelete = (record) => { + Modal.confirm({ + title: "删除确认", + content: `确定要删除【${record.todo}】吗`, + onOk: async () => { + const { success } = await props["enterpriseEmergencyOrganizationDelete"]({ id: record.id }); + if (success) { + message.success("删除成功"); + getData(); + } + }, + }); + }; + + const onDeleteBatch = () => { + if (selectedRowKeys.length === 0) { + message.warning("请选择要删除的记录"); + return; + } + Modal.confirm({ + title: "删除确认", + content: "确认要删除吗?", + onOk: async () => { + const { success } = await props["enterpriseEmergencyOrganizationDeleteBatch"]({ ids: selectedRowKeys }); + if (success) { + message.success("删除成功"); + getData(); + } + }, + }); + }; + + return ( + + ) }, + ]} + form={form} + onFinish={getData} + /> +
{ + setSelectedRowKeys(selectedRowKeys); + }, + }} + toolBarRender={() => ( + + + + + )} + columns={[ + { title: "机构名称", dataIndex: "todo" }, + { title: "机构类型", dataIndex: "todo" }, + { title: "机构级别", dataIndex: "todo" }, + { title: "所属区域", dataIndex: "todo" }, + { title: "所属单位", dataIndex: "todo" }, + { title: "值班电话", dataIndex: "todo" }, + { + title: "操作", + width: 200, + fixed: "right", + render: (_, record) => ( + + + + + + + ), + }, + ]} + {...tableProps} + /> + + ); +} + +export default Connect([NS_ENTERPRISE_EMERGENCY_ORGANIZATION], true)(List); diff --git a/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyManagementOrganization/EnterpriseEmergencyOrganization/Personnel/List/index.js b/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyManagementOrganization/EnterpriseEmergencyOrganization/Personnel/List/index.js new file mode 100644 index 0000000..72e8840 --- /dev/null +++ b/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyManagementOrganization/EnterpriseEmergencyOrganization/Personnel/List/index.js @@ -0,0 +1,32 @@ +import { Connect } from "@cqsjjb/jjb-dva-runtime"; +import Page from "zy-react-library/components/Page"; +import Table from "zy-react-library/components/Table"; +import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery"; +import useTable from "zy-react-library/hooks/useTable"; +import { NS_ENTERPRISE_EMERGENCY_PERSONNEL } from "~/enumerate/namespace"; + +function List(props) { + const query = useGetUrlQuery(); + + const { tableProps } = useTable(props["enterpriseEmergencyPersonnelList"], { + params: { enterpriseEmergencyOrganizationId: query.id }, + }); + + return ( + +
+ + ); +} + +export default Connect([NS_ENTERPRISE_EMERGENCY_PERSONNEL], true)(List); diff --git a/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyManagementOrganization/EnterpriseEmergencyOrganization/Personnel/index.js b/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyManagementOrganization/EnterpriseEmergencyOrganization/Personnel/index.js new file mode 100644 index 0000000..1e0eca9 --- /dev/null +++ b/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyManagementOrganization/EnterpriseEmergencyOrganization/Personnel/index.js @@ -0,0 +1,5 @@ +function Personnel(props) { + return props.children; +} + +export default Personnel; diff --git a/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyManagementOrganization/EnterpriseEmergencyOrganization/View/index.js b/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyManagementOrganization/EnterpriseEmergencyOrganization/View/index.js new file mode 100644 index 0000000..6a7dd2e --- /dev/null +++ b/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyManagementOrganization/EnterpriseEmergencyOrganization/View/index.js @@ -0,0 +1,46 @@ +import { Connect } from "@cqsjjb/jjb-dva-runtime"; +import { Descriptions, Spin } from "antd"; +import { useEffect, useState } from "react"; +import Page from "zy-react-library/components/Page"; +import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery"; +import { NS_ENTERPRISE_EMERGENCY_ORGANIZATION } from "~/enumerate/namespace"; + +function View(props) { + const query = useGetUrlQuery(); + + const [info, setInfo] = useState({}); + + const getData = async () => { + const { data } = await props["enterpriseEmergencyOrganizationInfo"]({ id: query.id }); + setInfo(data); + }; + + useEffect(() => { + getData(); + }, []); + + return ( + + + + + + ); +} + +export default Connect([NS_ENTERPRISE_EMERGENCY_ORGANIZATION], true)(View); diff --git a/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyManagementOrganization/EnterpriseEmergencyOrganization/index.js b/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyManagementOrganization/EnterpriseEmergencyOrganization/index.js new file mode 100644 index 0000000..a101f8f --- /dev/null +++ b/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyManagementOrganization/EnterpriseEmergencyOrganization/index.js @@ -0,0 +1,5 @@ +function EnterpriseEmergencyOrganization(props) { + return props.children; +} + +export default EnterpriseEmergencyOrganization; diff --git a/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyManagementOrganization/EnterpriseEmergencyPersonnel/Add/index.js b/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyManagementOrganization/EnterpriseEmergencyPersonnel/Add/index.js new file mode 100644 index 0000000..c19240d --- /dev/null +++ b/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyManagementOrganization/EnterpriseEmergencyPersonnel/Add/index.js @@ -0,0 +1,92 @@ +import { Connect } from "@cqsjjb/jjb-dva-runtime"; +import { message } from "antd"; +import { useEffect, useState } from "react"; +import FormBuilder from "zy-react-library/components/FormBuilder"; +import Page from "zy-react-library/components/Page"; +import DictionarySelect from "zy-react-library/components/Select/Dictionary"; +import PersonnelSelect from "zy-react-library/components/Select/Personnel/Gwj"; +import { FORM_ITEM_RENDER_ENUM } from "zy-react-library/enum/formItemRender"; +import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery"; +import useGetUserInfo from "zy-react-library/hooks/useGetUserInfo"; +import { ID_NUMBER, PHONE } from "zy-react-library/regular"; +import { NS_ENTERPRISE_EMERGENCY_ORGANIZATION, NS_ENTERPRISE_EMERGENCY_PERSONNEL } from "~/enumerate/namespace"; + +function Add(props) { + const query = useGetUrlQuery(); + const { getUserInfo } = useGetUserInfo(); + const [form] = FormBuilder.useForm(); + + const [enterpriseEmergencyOrganizationList, setEnterpriseEmergencyOrganizationList] = useState([]); + const [userInfo, setUserInfo] = useState({}); + + const getEnterpriseEmergencyOrganizationList = async () => { + const { data } = await props["enterpriseEmergencyOrganizationListAll"](); + setEnterpriseEmergencyOrganizationList(data); + }; + + const getData = async () => { + if (!query.id) + return; + + const { data } = await props["enterpriseEmergencyPersonnelInfo"]({ id: query.id }); + form.setFieldsValue(data); + }; + + useEffect(() => { + getData(); + getEnterpriseEmergencyOrganizationList(); + (async () => { + const userInfo = await getUserInfo(); + setUserInfo(userInfo); + })(); + }, []); + + const onSubmit = async (values) => { + const { success } = await props[query.id ? "enterpriseEmergencyPersonnelUpdate" : "enterpriseEmergencyPersonnelAdd"]({ + ...values, + id: query.id, + }); + if (success) { + message.success(query.id ? "编辑成功" : "新增成功"); + props.history.goBack(); + } + }; + + return ( + + { + form.setFieldValue("todo", option.sex || "UNKNOWN"); // 设置到性别字段,兜底使用 UNKNOWN + }} + /> + ), + }, + { name: "todo", label: "排序", render: FORM_ITEM_RENDER_ENUM.NUMBER }, + { name: "todo", label: "性别", render: () }, + { name: "todo", label: "行政职务" }, + { name: "todo", label: "行政级别" }, + { name: "todo", label: "身份证号", rules: [{ pattern: ID_NUMBER, message: "请输入正确的身份证号" }] }, + { name: "todo", label: "联系电话", rules: [{ pattern: PHONE, message: "请输入正确的联系电话" }] }, + ]} + form={form} + onFinish={onSubmit} + /> + + ); +} + +export default Connect([NS_ENTERPRISE_EMERGENCY_PERSONNEL, NS_ENTERPRISE_EMERGENCY_ORGANIZATION], true)(Add); diff --git a/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyManagementOrganization/EnterpriseEmergencyPersonnel/List/index.js b/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyManagementOrganization/EnterpriseEmergencyPersonnel/List/index.js new file mode 100644 index 0000000..4076f7d --- /dev/null +++ b/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyManagementOrganization/EnterpriseEmergencyPersonnel/List/index.js @@ -0,0 +1,140 @@ +import { Connect } from "@cqsjjb/jjb-dva-runtime"; +import { Button, message, Modal, Space } from "antd"; +import { useState } from "react"; +import AddIcon from "zy-react-library/components/Icon/AddIcon"; +import DeleteIcon from "zy-react-library/components/Icon/DeleteIcon"; +import Page from "zy-react-library/components/Page"; +import Search from "zy-react-library/components/Search"; +import Table from "zy-react-library/components/Table"; +import useTable from "zy-react-library/hooks/useTable"; +import { NS_ENTERPRISE_EMERGENCY_PERSONNEL } from "~/enumerate/namespace"; + +function List(props) { + const [selectedRowKeys, setSelectedRowKeys] = useState([]); + + const [form] = Search.useForm(); + + const { tableProps, getData } = useTable(props["enterpriseEmergencyPersonnelList"], { + form, + }); + + const onDelete = (record) => { + Modal.confirm({ + title: "删除确认", + content: `确定要删除【${record.todo}】吗`, + onOk: async () => { + const { success } = await props["enterpriseEmergencyPersonnelDelete"]({ id: record.id }); + if (success) { + message.success("删除成功"); + getData(); + } + }, + }); + }; + + const onDeleteBatch = () => { + if (selectedRowKeys.length === 0) { + message.warning("请选择要删除的记录"); + return; + } + Modal.confirm({ + title: "删除确认", + content: "确认要删除吗?", + onOk: async () => { + const { success } = await props["enterpriseEmergencyPersonnelDeleteBatch"]({ ids: selectedRowKeys }); + if (success) { + message.success("删除成功"); + getData(); + } + }, + }); + }; + + return ( + + +
{ + setSelectedRowKeys(selectedRowKeys); + }, + }} + toolBarRender={() => ( + + + + + )} + columns={[ + { title: "姓名", dataIndex: "todo" }, + { title: "性别", dataIndex: "todo" }, + { title: "行政职务", dataIndex: "todo" }, + { title: "行政级别", dataIndex: "todo" }, + { title: "身份证号", dataIndex: "todo" }, + { title: "联系电话", dataIndex: "todo" }, + { + title: "操作", + width: 150, + fixed: "right", + render: (_, record) => ( + + + + + + ), + }, + ]} + {...tableProps} + /> + + ); +} + +export default Connect([NS_ENTERPRISE_EMERGENCY_PERSONNEL], true)(List); diff --git a/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyManagementOrganization/EnterpriseEmergencyPersonnel/View/index.js b/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyManagementOrganization/EnterpriseEmergencyPersonnel/View/index.js new file mode 100644 index 0000000..2f53734 --- /dev/null +++ b/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyManagementOrganization/EnterpriseEmergencyPersonnel/View/index.js @@ -0,0 +1,45 @@ +import { Connect } from "@cqsjjb/jjb-dva-runtime"; +import { Descriptions, Spin } from "antd"; +import { useEffect, useState } from "react"; +import Page from "zy-react-library/components/Page"; +import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery"; +import { NS_ENTERPRISE_EMERGENCY_PERSONNEL } from "~/enumerate/namespace"; + +function View(props) { + const query = useGetUrlQuery(); + + const [info, setInfo] = useState({}); + + const getData = async () => { + const { data } = await props["enterpriseEmergencyPersonnelInfo"]({ id: query.id }); + setInfo(data); + }; + + useEffect(() => { + getData(); + }, []); + + return ( + + + + + + ); +} + +export default Connect([NS_ENTERPRISE_EMERGENCY_PERSONNEL], true)(View); diff --git a/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyManagementOrganization/EnterpriseEmergencyPersonnel/index.js b/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyManagementOrganization/EnterpriseEmergencyPersonnel/index.js new file mode 100644 index 0000000..d7b0149 --- /dev/null +++ b/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyManagementOrganization/EnterpriseEmergencyPersonnel/index.js @@ -0,0 +1,5 @@ +function EnterpriseEmergencyPersonnel(props) { + return props.children; +} + +export default EnterpriseEmergencyPersonnel; diff --git a/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyManagementOrganization/index.js b/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyManagementOrganization/index.js new file mode 100644 index 0000000..c9c4163 --- /dev/null +++ b/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyManagementOrganization/index.js @@ -0,0 +1,5 @@ +function EmergencyManagementOrganization(props) { + return props.children; +} + +export default EmergencyManagementOrganization; diff --git a/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyRescueTeam/Add/index.js b/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyRescueTeam/Add/index.js new file mode 100644 index 0000000..e62cef2 --- /dev/null +++ b/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyRescueTeam/Add/index.js @@ -0,0 +1,71 @@ +import { Connect } from "@cqsjjb/jjb-dva-runtime"; +import { message } from "antd"; +import { useEffect } from "react"; +import FormBuilder from "zy-react-library/components/FormBuilder"; +import Page from "zy-react-library/components/Page"; +import DictionarySelect from "zy-react-library/components/Select/Dictionary"; +import { FORM_ITEM_RENDER_ENUM } from "zy-react-library/enum/formItemRender"; +import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery"; +import { PHONE, TEL_PHONE } from "zy-react-library/regular"; +import { NS_EMERGENCY_RESCUE_TEAM } from "~/enumerate/namespace"; + +function Add(props) { + const query = useGetUrlQuery(); + const [form] = FormBuilder.useForm(); + + const getData = async () => { + if (!query.id) + return; + + const { data } = await props["emergencyRescueTeamInfo"]({ id: query.id }); + form.setFieldsValue(data); + }; + + useEffect(() => { + getData(); + }, []); + + const onSubmit = async (values) => { + const { success } = await props[query.id ? "emergencyRescueTeamUpdate" : "emergencyRescueTeamAdd"]({ + ...values, + id: query.id, + }); + if (success) { + message.success(query.id ? "编辑成功" : "新增成功"); + props.history.goBack(); + } + }; + + return ( + + ) }, + { name: "todo", label: "队伍属性", render: () }, + { name: "todo", label: "队伍级别", render: () }, + { name: "todo", label: "队伍等级", render: () }, + { name: "todo", label: "成立日期", render: FORM_ITEM_RENDER_ENUM.DATE }, + { name: "todo", label: "服务区域" }, + { name: "todo", label: "地址" }, + { name: "todo", label: "负责人姓名" }, + { name: "todo", label: "负责人电话", rules: [{ pattern: PHONE, message: "请输入正确的电话号码" }] }, + { name: "todo", label: "应急值班电话", rules: [{ pattern: TEL_PHONE, message: "请输入正确的应急值班电话" }] }, + { name: "todo", label: "总人数", render: FORM_ITEM_RENDER_ENUM.NUMBER }, + { name: "todo", label: "指战人数", render: FORM_ITEM_RENDER_ENUM.NUMBER }, + { name: "todo", label: "车辆数", render: FORM_ITEM_RENDER_ENUM.NUMBER }, + { name: "todo", label: "后勤人数", render: FORM_ITEM_RENDER_ENUM.NUMBER }, + { name: "todo", label: "救援专业", render: () }, + { name: "todo", label: "队员信息", render: FORM_ITEM_RENDER_ENUM.TEXTAREA, span: 24 }, + { name: "todo", label: "专场描述", render: FORM_ITEM_RENDER_ENUM.TEXTAREA, span: 24 }, + { name: "todo", label: "队员简介", render: FORM_ITEM_RENDER_ENUM.TEXTAREA, span: 24 }, + ]} + form={form} + onFinish={onSubmit} + /> + + ); +} + +export default Connect([NS_EMERGENCY_RESCUE_TEAM], true)(Add); diff --git a/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyRescueTeam/List/index.js b/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyRescueTeam/List/index.js new file mode 100644 index 0000000..294970f --- /dev/null +++ b/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyRescueTeam/List/index.js @@ -0,0 +1,140 @@ +import { Connect } from "@cqsjjb/jjb-dva-runtime"; +import { Button, message, Modal, Space } from "antd"; +import { useState } from "react"; +import AddIcon from "zy-react-library/components/Icon/AddIcon"; +import DeleteIcon from "zy-react-library/components/Icon/DeleteIcon"; +import Page from "zy-react-library/components/Page"; +import Search from "zy-react-library/components/Search"; +import Table from "zy-react-library/components/Table"; +import useTable from "zy-react-library/hooks/useTable"; +import { NS_EMERGENCY_RESCUE_TEAM } from "~/enumerate/namespace"; + +function List(props) { + const [selectedRowKeys, setSelectedRowKeys] = useState([]); + + const [form] = Search.useForm(); + + const { tableProps, getData } = useTable(props["emergencyRescueTeamList"], { + form, + }); + + const onDelete = (record) => { + Modal.confirm({ + title: "删除确认", + content: `确定要删除【${record.todo}】吗`, + onOk: async () => { + const { success } = await props["emergencyRescueTeamDelete"]({ id: record.id }); + if (success) { + message.success("删除成功"); + getData(); + } + }, + }); + }; + + const onDeleteBatch = () => { + if (selectedRowKeys.length === 0) { + message.warning("请选择要删除的记录"); + return; + } + Modal.confirm({ + title: "删除确认", + content: "确认要删除吗?", + onOk: async () => { + const { success } = await props["emergencyRescueTeamDeleteBatch"]({ ids: selectedRowKeys }); + if (success) { + message.success("删除成功"); + getData(); + } + }, + }); + }; + + return ( + + +
{ + setSelectedRowKeys(selectedRowKeys); + }, + }} + toolBarRender={() => ( + + + + + )} + columns={[ + { title: "队伍名称", dataIndex: "todo" }, + { title: "队伍类别", dataIndex: "todo" }, + { title: "队伍属性", dataIndex: "todo" }, + { title: "队伍级别", dataIndex: "todo" }, + { title: "救援专业", dataIndex: "todo" }, + { title: "队伍负责人姓名", dataIndex: "todo" }, + { + title: "操作", + width: 150, + fixed: "right", + render: (_, record) => ( + + + + + + ), + }, + ]} + {...tableProps} + /> + + ); +} + +export default Connect([NS_EMERGENCY_RESCUE_TEAM], true)(List); diff --git a/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyRescueTeam/View/index.js b/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyRescueTeam/View/index.js new file mode 100644 index 0000000..4d58d96 --- /dev/null +++ b/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyRescueTeam/View/index.js @@ -0,0 +1,56 @@ +import { Connect } from "@cqsjjb/jjb-dva-runtime"; +import { Descriptions, Spin } from "antd"; +import { useEffect, useState } from "react"; +import Page from "zy-react-library/components/Page"; +import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery"; +import { NS_EMERGENCY_RESCUE_TEAM } from "~/enumerate/namespace"; + +function View(props) { + const query = useGetUrlQuery(); + + const [info, setInfo] = useState({}); + + const getData = async () => { + const { data } = await props["emergencyRescueTeamInfo"]({ id: query.id }); + setInfo(data); + }; + + useEffect(() => { + getData(); + }, []); + + return ( + + + + + + ); +} + +export default Connect([NS_EMERGENCY_RESCUE_TEAM], true)(View); diff --git a/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyRescueTeam/index.js b/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyRescueTeam/index.js new file mode 100644 index 0000000..afb0498 --- /dev/null +++ b/src/pages/Container/Enterprise/EmergencyOrganization/EmergencyRescueTeam/index.js @@ -0,0 +1,5 @@ +function EmergencyRescueTeam(props) { + return props.children; +} + +export default EmergencyRescueTeam; diff --git a/src/pages/Container/Enterprise/EmergencyOrganization/ProfessionalGuaranteeOrganization/CommunicationGuaranteeOrganization/Add/index.js b/src/pages/Container/Enterprise/EmergencyOrganization/ProfessionalGuaranteeOrganization/CommunicationGuaranteeOrganization/Add/index.js new file mode 100644 index 0000000..f381f7a --- /dev/null +++ b/src/pages/Container/Enterprise/EmergencyOrganization/ProfessionalGuaranteeOrganization/CommunicationGuaranteeOrganization/Add/index.js @@ -0,0 +1,95 @@ +import { Connect } from "@cqsjjb/jjb-dva-runtime"; +import { message } from "antd"; +import { useEffect } from "react"; +import AreaCascader from "zy-react-library/components/Cascader/Area"; +import FormBuilder from "zy-react-library/components/FormBuilder"; +import Map from "zy-react-library/components/Map"; +import Page from "zy-react-library/components/Page"; +import DictionarySelect from "zy-react-library/components/Select/Dictionary"; +import DepartmentSelectTree from "zy-react-library/components/SelectTree/Department/Gwj"; +import { FORM_ITEM_RENDER_ENUM } from "zy-react-library/enum/formItemRender"; +import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery"; +import { PHONE, POSTAL_CODE, TEL_PHONE } from "zy-react-library/regular"; +import { NS_COMMUNICATION_GUARANTEE_ORGANIZATION } from "~/enumerate/namespace"; + +function Add(props) { + const query = useGetUrlQuery(); + const [form] = FormBuilder.useForm(); + + const getData = async () => { + if (!query.id) + return; + + const { data } = await props["communicationGuaranteeOrganizationInfo"]({ id: query.id }); + form.setFieldsValue(data); + }; + + useEffect(() => { + getData(); + }, []); + + const onSubmit = async (values) => { + const { success } = await props[query.id ? "communicationGuaranteeOrganizationUpdate" : "communicationGuaranteeOrganizationAdd"]({ + ...values, + id: query.id, + }); + if (success) { + message.success(query.id ? "编辑成功" : "新增成功"); + props.history.goBack(); + } + }; + + return ( + + ), + }, + { name: "todo", label: "通讯机构级别" }, + { name: "todo", label: "地址" }, + { name: "todo", label: "邮编", rules: [{ pattern: POSTAL_CODE, message: "请输入正确的邮编" }] }, + { name: "todo", label: "值班电话", rules: [{ pattern: TEL_PHONE, message: "请输入正确的值班电话" }] }, + { name: "todo", label: "传真", rules: [{ pattern: TEL_PHONE, message: "请输入正确的传真" }] }, + { name: "todo", label: "所属区域", render: () }, + { key: "map", customizeRender: true, render: (), span: 24 }, + { name: "todo", label: "应急通讯车数", render: FORM_ITEM_RENDER_ENUM.NUMBER }, + { name: "todo", label: "应急发电车数", render: FORM_ITEM_RENDER_ENUM.NUMBER }, + { name: "todo", label: "卫星电话数", render: FORM_ITEM_RENDER_ENUM.NUMBER }, + { name: "todo", label: "基站总数", render: FORM_ITEM_RENDER_ENUM.NUMBER }, + { name: "todo", label: "应急通讯方式", span: 24 }, + { name: "todo", label: "负责人", rules: [{ required: true, message: "请输入负责人" }] }, + { + name: "todo", + label: "负责人办公电话", + rules: [ + { required: true, message: "请输入负责人办公电话" }, + { pattern: TEL_PHONE, message: "请输入正确的负责人办公电话" }, + ], + }, + { name: "todo", label: "负责人移动电话", rules: [{ pattern: PHONE, message: "请输入正确的负责人移动电话" }] }, + { name: "todo", label: "负责人住宅电话", rules: [{ pattern: TEL_PHONE, message: "请输入正确的负责人住宅电话" }] }, + { name: "todo", label: "联系人" }, + { name: "todo", label: "联系人办公电话", rules: [{ pattern: TEL_PHONE, message: "请输入正确的联系人办公电话" }] }, + { name: "todo", label: "联系人移动电话", rules: [{ pattern: PHONE, message: "请输入正确的联系人移动电话" }] }, + { name: "todo", label: "联系人住宅电话", rules: [{ pattern: TEL_PHONE, message: "请输入正确的联系人住宅电话" }] }, + { name: "todo", label: "联系人邮箱", rules: [{ type: "email", message: "请输入正确的联系人邮箱" }], span: 24 }, + { name: "todo", label: "主管单位", render: () }, + { name: "todo", label: "主管单位地址" }, + { name: "todo", label: "企业基本情况", render: FORM_ITEM_RENDER_ENUM.TEXTAREA, span: 24 }, + { name: "todo", label: "应急能力描述", render: FORM_ITEM_RENDER_ENUM.TEXTAREA, span: 24 }, + { name: "todo", label: "备注", render: FORM_ITEM_RENDER_ENUM.TEXTAREA, span: 24 }, + ]} + form={form} + onFinish={onSubmit} + /> + + ); +} + +export default Connect([NS_COMMUNICATION_GUARANTEE_ORGANIZATION], true)(Add); diff --git a/src/pages/Container/Enterprise/EmergencyOrganization/ProfessionalGuaranteeOrganization/CommunicationGuaranteeOrganization/List/index.js b/src/pages/Container/Enterprise/EmergencyOrganization/ProfessionalGuaranteeOrganization/CommunicationGuaranteeOrganization/List/index.js new file mode 100644 index 0000000..eacbb2e --- /dev/null +++ b/src/pages/Container/Enterprise/EmergencyOrganization/ProfessionalGuaranteeOrganization/CommunicationGuaranteeOrganization/List/index.js @@ -0,0 +1,139 @@ +import { Connect } from "@cqsjjb/jjb-dva-runtime"; +import { Button, message, Modal, Space } from "antd"; +import { useState } from "react"; +import AddIcon from "zy-react-library/components/Icon/AddIcon"; +import DeleteIcon from "zy-react-library/components/Icon/DeleteIcon"; +import Page from "zy-react-library/components/Page"; +import Search from "zy-react-library/components/Search"; +import Table from "zy-react-library/components/Table"; +import useTable from "zy-react-library/hooks/useTable"; +import { NS_COMMUNICATION_GUARANTEE_ORGANIZATION } from "~/enumerate/namespace"; + +function List(props) { + const [selectedRowKeys, setSelectedRowKeys] = useState([]); + + const [form] = Search.useForm(); + + const { tableProps, getData } = useTable(props["communicationGuaranteeOrganizationList"], { + form, + }); + + const onDelete = (record) => { + Modal.confirm({ + title: "删除确认", + content: `确定要删除【${record.todo}】吗`, + onOk: async () => { + const { success } = await props["communicationGuaranteeOrganizationDelete"]({ id: record.id }); + if (success) { + message.success("删除成功"); + getData(); + } + }, + }); + }; + + const onDeleteBatch = () => { + if (selectedRowKeys.length === 0) { + message.warning("请选择要删除的记录"); + return; + } + Modal.confirm({ + title: "删除确认", + content: "确认要删除吗?", + onOk: async () => { + const { success } = await props["communicationGuaranteeOrganizationDeleteBatch"]({ ids: selectedRowKeys }); + if (success) { + message.success("删除成功"); + getData(); + } + }, + }); + }; + + return ( + + +
{ + setSelectedRowKeys(selectedRowKeys); + }, + }} + toolBarRender={() => ( + + + + + )} + columns={[ + { title: "通讯机构名称", dataIndex: "todo" }, + { title: "通讯机构类型", dataIndex: "todo" }, + { title: "通讯机构级别", dataIndex: "todo" }, + { title: "地址", dataIndex: "todo" }, + { title: "值班电话", dataIndex: "todo" }, + { + title: "操作", + width: 150, + fixed: "right", + render: (_, record) => ( + + + + + + ), + }, + ]} + {...tableProps} + /> + + ); +} + +export default Connect([NS_COMMUNICATION_GUARANTEE_ORGANIZATION], true)(List); diff --git a/src/pages/Container/Enterprise/EmergencyOrganization/ProfessionalGuaranteeOrganization/CommunicationGuaranteeOrganization/View/index.js b/src/pages/Container/Enterprise/EmergencyOrganization/ProfessionalGuaranteeOrganization/CommunicationGuaranteeOrganization/View/index.js new file mode 100644 index 0000000..adb9523 --- /dev/null +++ b/src/pages/Container/Enterprise/EmergencyOrganization/ProfessionalGuaranteeOrganization/CommunicationGuaranteeOrganization/View/index.js @@ -0,0 +1,66 @@ +import { Connect } from "@cqsjjb/jjb-dva-runtime"; +import { Descriptions, Spin } from "antd"; +import { useEffect, useState } from "react"; +import Page from "zy-react-library/components/Page"; +import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery"; +import { NS_COMMUNICATION_GUARANTEE_ORGANIZATION } from "~/enumerate/namespace"; + +function View(props) { + const query = useGetUrlQuery(); + + const [info, setInfo] = useState({}); + + const getData = async () => { + const { data } = await props["communicationGuaranteeOrganizationInfo"]({ id: query.id }); + setInfo(data); + }; + + useEffect(() => { + getData(); + }, []); + + return ( + + + + + + ); +} + +export default Connect([NS_COMMUNICATION_GUARANTEE_ORGANIZATION], true)(View); diff --git a/src/pages/Container/Enterprise/EmergencyOrganization/ProfessionalGuaranteeOrganization/CommunicationGuaranteeOrganization/index.js b/src/pages/Container/Enterprise/EmergencyOrganization/ProfessionalGuaranteeOrganization/CommunicationGuaranteeOrganization/index.js new file mode 100644 index 0000000..3edcc88 --- /dev/null +++ b/src/pages/Container/Enterprise/EmergencyOrganization/ProfessionalGuaranteeOrganization/CommunicationGuaranteeOrganization/index.js @@ -0,0 +1,5 @@ +function CommunicationGuaranteeOrganization(props) { + return props.children; +} + +export default CommunicationGuaranteeOrganization; diff --git a/src/pages/Container/Enterprise/EmergencyOrganization/ProfessionalGuaranteeOrganization/MedicalGuaranteeOrganization/Add/index.js b/src/pages/Container/Enterprise/EmergencyOrganization/ProfessionalGuaranteeOrganization/MedicalGuaranteeOrganization/Add/index.js new file mode 100644 index 0000000..ae2acd0 --- /dev/null +++ b/src/pages/Container/Enterprise/EmergencyOrganization/ProfessionalGuaranteeOrganization/MedicalGuaranteeOrganization/Add/index.js @@ -0,0 +1,95 @@ +import { Connect } from "@cqsjjb/jjb-dva-runtime"; +import { message } from "antd"; +import { useEffect } from "react"; +import AreaCascader from "zy-react-library/components/Cascader/Area"; +import FormBuilder from "zy-react-library/components/FormBuilder"; +import Map from "zy-react-library/components/Map"; +import Page from "zy-react-library/components/Page"; +import DictionarySelect from "zy-react-library/components/Select/Dictionary"; +import DepartmentSelectTree from "zy-react-library/components/SelectTree/Department/Gwj"; +import { FORM_ITEM_RENDER_ENUM } from "zy-react-library/enum/formItemRender"; +import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery"; +import { PHONE, POSTAL_CODE, TEL_PHONE } from "zy-react-library/regular"; +import { NS_MEDICAL_GUARANTEE_ORGANIZATION } from "~/enumerate/namespace"; + +function Add(props) { + const query = useGetUrlQuery(); + const [form] = FormBuilder.useForm(); + + const getData = async () => { + if (!query.id) + return; + + const { data } = await props["medicalGuaranteeOrganizationInfo"]({ id: query.id }); + form.setFieldsValue(data); + }; + + useEffect(() => { + getData(); + }, []); + + const onSubmit = async (values) => { + const { success } = await props[query.id ? "medicalGuaranteeOrganizationUpdate" : "medicalGuaranteeOrganizationAdd"]({ + ...values, + id: query.id, + }); + if (success) { + message.success(query.id ? "编辑成功" : "新增成功"); + props.history.goBack(); + } + }; + + return ( + + ), + }, + { name: "todo", label: "医疗机构级别" }, + { name: "todo", label: "地址" }, + { name: "todo", label: "邮编", rules: [{ pattern: POSTAL_CODE, message: "请输入正确的邮编" }] }, + { name: "todo", label: "传真", rules: [{ pattern: TEL_PHONE, message: "请输入正确的传真" }] }, + { name: "todo", label: "值班电话", rules: [{ pattern: TEL_PHONE, message: "请输入正确的值班电话" }] }, + { name: "todo", label: "所属区域", render: () }, + { key: "map", customizeRender: true, render: (), span: 24 }, + { name: "todo", label: "病床数", render: FORM_ITEM_RENDER_ENUM.NUMBER }, + { name: "todo", label: "医生数", render: FORM_ITEM_RENDER_ENUM.NUMBER }, + { name: "todo", label: "护士数", render: FORM_ITEM_RENDER_ENUM.NUMBER }, + { name: "todo", label: "急救车辆数", render: FORM_ITEM_RENDER_ENUM.NUMBER }, + { name: "todo", label: "应急通讯方式", span: 24 }, + { name: "todo", label: "负责人", rules: [{ required: true, message: "请输入负责人" }] }, + { + name: "todo", + label: "负责人办公电话", + rules: [ + { required: true, message: "请输入负责人办公电话" }, + { pattern: TEL_PHONE, message: "请输入正确的负责人办公电话" }, + ], + }, + { name: "todo", label: "负责人移动电话", rules: [{ pattern: PHONE, message: "请输入正确的负责人移动电话" }] }, + { name: "todo", label: "负责人住宅电话", rules: [{ pattern: TEL_PHONE, message: "请输入正确的负责人住宅电话" }] }, + { name: "todo", label: "联系人" }, + { name: "todo", label: "联系人办公电话", rules: [{ pattern: TEL_PHONE, message: "请输入正确的联系人办公电话" }] }, + { name: "todo", label: "联系人移动电话", rules: [{ pattern: PHONE, message: "请输入正确的联系人移动电话" }] }, + { name: "todo", label: "联系人住宅电话", rules: [{ pattern: TEL_PHONE, message: "请输入正确的联系人住宅电话" }] }, + { name: "todo", label: "主管单位", render: () }, + { name: "todo", label: "主管单位地址" }, + { name: "todo", label: "特色", render: FORM_ITEM_RENDER_ENUM.TEXTAREA, span: 24 }, + { name: "todo", label: "主要医疗设备" }, + { name: "todo", label: "抗震设防列数" }, + { name: "todo", label: "备注", render: FORM_ITEM_RENDER_ENUM.TEXTAREA, span: 24 }, + ]} + form={form} + onFinish={onSubmit} + /> + + ); +} + +export default Connect([NS_MEDICAL_GUARANTEE_ORGANIZATION], true)(Add); diff --git a/src/pages/Container/Enterprise/EmergencyOrganization/ProfessionalGuaranteeOrganization/MedicalGuaranteeOrganization/List/index.js b/src/pages/Container/Enterprise/EmergencyOrganization/ProfessionalGuaranteeOrganization/MedicalGuaranteeOrganization/List/index.js new file mode 100644 index 0000000..d847be4 --- /dev/null +++ b/src/pages/Container/Enterprise/EmergencyOrganization/ProfessionalGuaranteeOrganization/MedicalGuaranteeOrganization/List/index.js @@ -0,0 +1,142 @@ +import { Connect } from "@cqsjjb/jjb-dva-runtime"; +import { Button, message, Modal, Space } from "antd"; +import { useState } from "react"; +import AddIcon from "zy-react-library/components/Icon/AddIcon"; +import DeleteIcon from "zy-react-library/components/Icon/DeleteIcon"; +import Page from "zy-react-library/components/Page"; +import Search from "zy-react-library/components/Search"; +import Table from "zy-react-library/components/Table"; +import useTable from "zy-react-library/hooks/useTable"; +import { NS_MEDICAL_GUARANTEE_ORGANIZATION } from "~/enumerate/namespace"; + +function List(props) { + const [selectedRowKeys, setSelectedRowKeys] = useState([]); + + const [form] = Search.useForm(); + + const { tableProps, getData } = useTable(props["medicalGuaranteeOrganizationList"], { + form, + }); + + const onDelete = (record) => { + Modal.confirm({ + title: "删除确认", + content: `确定要删除【${record.todo}】吗`, + onOk: async () => { + const { success } = await props["medicalGuaranteeOrganizationDelete"]({ id: record.id }); + if (success) { + message.success("删除成功"); + getData(); + } + }, + }); + }; + + const onDeleteBatch = () => { + if (selectedRowKeys.length === 0) { + message.warning("请选择要删除的记录"); + return; + } + Modal.confirm({ + title: "删除确认", + content: "确认要删除吗?", + onOk: async () => { + const { success } = await props["medicalGuaranteeOrganizationDeleteBatch"]({ ids: selectedRowKeys }); + if (success) { + message.success("删除成功"); + getData(); + } + }, + }); + }; + + return ( + + +
{ + setSelectedRowKeys(selectedRowKeys); + }, + }} + toolBarRender={() => ( + + + + + )} + columns={[ + { title: "医疗机构名称", dataIndex: "todo" }, + { title: "医疗结构类型", dataIndex: "todo" }, + { title: "医疗机构级别", dataIndex: "todo" }, + { title: "地址", dataIndex: "todo" }, + { title: "联系人", dataIndex: "todo" }, + { title: "联系人固定电话", dataIndex: "todo" }, + { title: "联系人移动电话", dataIndex: "todo" }, + { title: "修改时间", dataIndex: "todo" }, + { + title: "操作", + width: 150, + fixed: "right", + render: (_, record) => ( + + + + + + ), + }, + ]} + {...tableProps} + /> + + ); +} + +export default Connect([NS_MEDICAL_GUARANTEE_ORGANIZATION], true)(List); diff --git a/src/pages/Container/Enterprise/EmergencyOrganization/ProfessionalGuaranteeOrganization/MedicalGuaranteeOrganization/View/index.js b/src/pages/Container/Enterprise/EmergencyOrganization/ProfessionalGuaranteeOrganization/MedicalGuaranteeOrganization/View/index.js new file mode 100644 index 0000000..9b0bdda --- /dev/null +++ b/src/pages/Container/Enterprise/EmergencyOrganization/ProfessionalGuaranteeOrganization/MedicalGuaranteeOrganization/View/index.js @@ -0,0 +1,66 @@ +import { Connect } from "@cqsjjb/jjb-dva-runtime"; +import { Descriptions, Spin } from "antd"; +import { useEffect, useState } from "react"; +import Page from "zy-react-library/components/Page"; +import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery"; +import { NS_MEDICAL_GUARANTEE_ORGANIZATION } from "~/enumerate/namespace"; + +function View(props) { + const query = useGetUrlQuery(); + + const [info, setInfo] = useState({}); + + const getData = async () => { + const { data } = await props["medicalGuaranteeOrganizationInfo"]({ id: query.id }); + setInfo(data); + }; + + useEffect(() => { + getData(); + }, []); + + return ( + + + + + + ); +} + +export default Connect([NS_MEDICAL_GUARANTEE_ORGANIZATION], true)(View); diff --git a/src/pages/Container/Enterprise/EmergencyOrganization/ProfessionalGuaranteeOrganization/MedicalGuaranteeOrganization/index.js b/src/pages/Container/Enterprise/EmergencyOrganization/ProfessionalGuaranteeOrganization/MedicalGuaranteeOrganization/index.js new file mode 100644 index 0000000..45c64c4 --- /dev/null +++ b/src/pages/Container/Enterprise/EmergencyOrganization/ProfessionalGuaranteeOrganization/MedicalGuaranteeOrganization/index.js @@ -0,0 +1,5 @@ +function MedicalGuaranteeOrganization(props) { + return props.children; +} + +export default MedicalGuaranteeOrganization; diff --git a/src/pages/Container/Enterprise/EmergencyOrganization/ProfessionalGuaranteeOrganization/TechnicalSupportGuaranteeOrganization/Add/index.js b/src/pages/Container/Enterprise/EmergencyOrganization/ProfessionalGuaranteeOrganization/TechnicalSupportGuaranteeOrganization/Add/index.js new file mode 100644 index 0000000..3a74bdc --- /dev/null +++ b/src/pages/Container/Enterprise/EmergencyOrganization/ProfessionalGuaranteeOrganization/TechnicalSupportGuaranteeOrganization/Add/index.js @@ -0,0 +1,66 @@ +import { Connect } from "@cqsjjb/jjb-dva-runtime"; +import { message } from "antd"; +import { useEffect } from "react"; +import AreaCascader from "zy-react-library/components/Cascader/Area"; +import FormBuilder from "zy-react-library/components/FormBuilder"; +import Map from "zy-react-library/components/Map"; +import Page from "zy-react-library/components/Page"; +import { FORM_ITEM_RENDER_ENUM } from "zy-react-library/enum/formItemRender"; +import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery"; +import { PHONE, TEL_PHONE } from "zy-react-library/regular"; +import { NS_TECHNICAL_SUPPORT_GUARANTEE_ORGANIZATION } from "~/enumerate/namespace"; + +function Add(props) { + const query = useGetUrlQuery(); + const [form] = FormBuilder.useForm(); + + const getData = async () => { + if (!query.id) + return; + + const { data } = await props["technicalSupportGuaranteeOrganizationInfo"]({ id: query.id }); + form.setFieldsValue(data); + }; + + useEffect(() => { + getData(); + }, []); + + const onSubmit = async (values) => { + const { success } = await props[query.id ? "technicalSupportGuaranteeOrganizationUpdate" : "technicalSupportGuaranteeOrganizationAdd"]({ + ...values, + id: query.id, + }); + if (success) { + message.success(query.id ? "编辑成功" : "新增成功"); + props.history.goBack(); + } + }; + + return ( + + ) }, + { key: "map", customizeRender: true, render: (), span: 24 }, + { name: "todo", label: "联系人" }, + { name: "todo", label: "联系人办公电话", rules: [{ pattern: TEL_PHONE, message: "请输入正确的联系人办公电话" }] }, + { name: "todo", label: "联系人移动电话", rules: [{ pattern: PHONE, message: "请输入正确的联系人移动电话" }] }, + { name: "todo", label: "联系人住宅电话", rules: [{ pattern: TEL_PHONE, message: "请输入正确的联系人住宅电话" }] }, + { name: "todo", label: "运输方式", span: 24 }, + { name: "todo", label: "载重", render: FORM_ITEM_RENDER_ENUM.TEXTAREA, span: 24 }, + { name: "todo", label: "所用燃料", render: FORM_ITEM_RENDER_ENUM.TEXTAREA, span: 24 }, + { name: "todo", label: "备注", render: FORM_ITEM_RENDER_ENUM.TEXTAREA, span: 24 }, + ]} + form={form} + onFinish={onSubmit} + /> + + ); +} + +export default Connect([NS_TECHNICAL_SUPPORT_GUARANTEE_ORGANIZATION], true)(Add); diff --git a/src/pages/Container/Enterprise/EmergencyOrganization/ProfessionalGuaranteeOrganization/TechnicalSupportGuaranteeOrganization/List/index.js b/src/pages/Container/Enterprise/EmergencyOrganization/ProfessionalGuaranteeOrganization/TechnicalSupportGuaranteeOrganization/List/index.js new file mode 100644 index 0000000..1f6bafc --- /dev/null +++ b/src/pages/Container/Enterprise/EmergencyOrganization/ProfessionalGuaranteeOrganization/TechnicalSupportGuaranteeOrganization/List/index.js @@ -0,0 +1,140 @@ +import { Connect } from "@cqsjjb/jjb-dva-runtime"; +import { Button, message, Modal, Space } from "antd"; +import { useState } from "react"; +import AddIcon from "zy-react-library/components/Icon/AddIcon"; +import DeleteIcon from "zy-react-library/components/Icon/DeleteIcon"; +import Page from "zy-react-library/components/Page"; +import Search from "zy-react-library/components/Search"; +import Table from "zy-react-library/components/Table"; +import useTable from "zy-react-library/hooks/useTable"; +import { NS_TECHNICAL_SUPPORT_GUARANTEE_ORGANIZATION } from "~/enumerate/namespace"; + +function List(props) { + const [selectedRowKeys, setSelectedRowKeys] = useState([]); + + const [form] = Search.useForm(); + + const { tableProps, getData } = useTable(props["technicalSupportGuaranteeOrganizationList"], { + form, + }); + + const onDelete = (record) => { + Modal.confirm({ + title: "删除确认", + content: `确定要删除【${record.todo}】吗`, + onOk: async () => { + const { success } = await props["technicalSupportGuaranteeOrganizationDelete"]({ id: record.id }); + if (success) { + message.success("删除成功"); + getData(); + } + }, + }); + }; + + const onDeleteBatch = () => { + if (selectedRowKeys.length === 0) { + message.warning("请选择要删除的记录"); + return; + } + Modal.confirm({ + title: "删除确认", + content: "确认要删除吗?", + onOk: async () => { + const { success } = await props["technicalSupportGuaranteeOrganizationDeleteBatch"]({ ids: selectedRowKeys }); + if (success) { + message.success("删除成功"); + getData(); + } + }, + }); + }; + + return ( + + +
{ + setSelectedRowKeys(selectedRowKeys); + }, + }} + toolBarRender={() => ( + + + + + )} + columns={[ + { title: "机构名称", dataIndex: "todo" }, + { title: "地址", dataIndex: "todo" }, + { title: "联系人", dataIndex: "todo" }, + { title: "联系人固定电话", dataIndex: "todo" }, + { title: "联系人移动电话", dataIndex: "todo" }, + { title: "修改时间", dataIndex: "todo" }, + { + title: "操作", + width: 150, + fixed: "right", + render: (_, record) => ( + + + + + + ), + }, + ]} + {...tableProps} + /> + + ); +} + +export default Connect([NS_TECHNICAL_SUPPORT_GUARANTEE_ORGANIZATION], true)(List); diff --git a/src/pages/Container/Enterprise/EmergencyOrganization/ProfessionalGuaranteeOrganization/TechnicalSupportGuaranteeOrganization/View/index.js b/src/pages/Container/Enterprise/EmergencyOrganization/ProfessionalGuaranteeOrganization/TechnicalSupportGuaranteeOrganization/View/index.js new file mode 100644 index 0000000..093fc70 --- /dev/null +++ b/src/pages/Container/Enterprise/EmergencyOrganization/ProfessionalGuaranteeOrganization/TechnicalSupportGuaranteeOrganization/View/index.js @@ -0,0 +1,50 @@ +import { Connect } from "@cqsjjb/jjb-dva-runtime"; +import { Descriptions, Spin } from "antd"; +import { useEffect, useState } from "react"; +import Page from "zy-react-library/components/Page"; +import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery"; +import { NS_TECHNICAL_SUPPORT_GUARANTEE_ORGANIZATION } from "~/enumerate/namespace"; + +function View(props) { + const query = useGetUrlQuery(); + + const [info, setInfo] = useState({}); + + const getData = async () => { + const { data } = await props["technicalSupportGuaranteeOrganizationInfo"]({ id: query.id }); + setInfo(data); + }; + + useEffect(() => { + getData(); + }, []); + + return ( + + + + + + ); +} + +export default Connect([NS_TECHNICAL_SUPPORT_GUARANTEE_ORGANIZATION], true)(View); diff --git a/src/pages/Container/Enterprise/EmergencyOrganization/ProfessionalGuaranteeOrganization/TechnicalSupportGuaranteeOrganization/index.js b/src/pages/Container/Enterprise/EmergencyOrganization/ProfessionalGuaranteeOrganization/TechnicalSupportGuaranteeOrganization/index.js new file mode 100644 index 0000000..a52a9d4 --- /dev/null +++ b/src/pages/Container/Enterprise/EmergencyOrganization/ProfessionalGuaranteeOrganization/TechnicalSupportGuaranteeOrganization/index.js @@ -0,0 +1,5 @@ +function TechnicalSupportGuaranteeOrganization(props) { + return props.children; +} + +export default TechnicalSupportGuaranteeOrganization; diff --git a/src/pages/Container/Enterprise/EmergencyOrganization/ProfessionalGuaranteeOrganization/TransportGuaranteeOrganization/Add/index.js b/src/pages/Container/Enterprise/EmergencyOrganization/ProfessionalGuaranteeOrganization/TransportGuaranteeOrganization/Add/index.js new file mode 100644 index 0000000..438456e --- /dev/null +++ b/src/pages/Container/Enterprise/EmergencyOrganization/ProfessionalGuaranteeOrganization/TransportGuaranteeOrganization/Add/index.js @@ -0,0 +1,92 @@ +import { Connect } from "@cqsjjb/jjb-dva-runtime"; +import { message } from "antd"; +import { useEffect } from "react"; +import AreaCascader from "zy-react-library/components/Cascader/Area"; +import FormBuilder from "zy-react-library/components/FormBuilder"; +import Map from "zy-react-library/components/Map"; +import Page from "zy-react-library/components/Page"; +import DictionarySelect from "zy-react-library/components/Select/Dictionary"; +import DepartmentSelectTree from "zy-react-library/components/SelectTree/Department/Gwj"; +import { FORM_ITEM_RENDER_ENUM } from "zy-react-library/enum/formItemRender"; +import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery"; +import { PHONE, POSTAL_CODE, TEL_PHONE } from "zy-react-library/regular"; +import { NS_TRANSPORT_GUARANTEE_ORGANIZATION } from "~/enumerate/namespace"; + +function Add(props) { + const query = useGetUrlQuery(); + const [form] = FormBuilder.useForm(); + + const getData = async () => { + if (!query.id) + return; + + const { data } = await props["transportGuaranteeOrganizationInfo"]({ id: query.id }); + form.setFieldsValue(data); + }; + + useEffect(() => { + getData(); + }, []); + + const onSubmit = async (values) => { + const { success } = await props[query.id ? "transportGuaranteeOrganizationUpdate" : "transportGuaranteeOrganizationAdd"]({ + ...values, + id: query.id, + }); + if (success) { + message.success(query.id ? "编辑成功" : "新增成功"); + props.history.goBack(); + } + }; + + return ( + + ), + }, + { name: "todo", label: "运输机构级别" }, + { name: "todo", label: "地址" }, + { name: "todo", label: "邮编", rules: [{ pattern: POSTAL_CODE, message: "请输入正确的邮编" }] }, + { name: "todo", label: "值班电话", rules: [{ pattern: TEL_PHONE, message: "请输入正确的值班电话" }] }, + { name: "todo", label: "应急运输方式" }, + { name: "todo", label: "所属区域", render: () }, + { key: "map", customizeRender: true, render: (), span: 24 }, + { name: "todo", label: "负责人", rules: [{ required: true, message: "请输入负责人" }] }, + { + name: "todo", + label: "负责人办公电话", + rules: [ + { required: true, message: "请输入负责人办公电话" }, + { pattern: TEL_PHONE, message: "请输入正确的负责人办公电话" }, + ], + }, + { name: "todo", label: "负责人移动电话", rules: [{ pattern: PHONE, message: "请输入正确的负责人移动电话" }] }, + { name: "todo", label: "负责人住宅电话", rules: [{ pattern: TEL_PHONE, message: "请输入正确的负责人住宅电话" }] }, + { name: "todo", label: "联系人" }, + { name: "todo", label: "联系人办公电话", rules: [{ pattern: TEL_PHONE, message: "请输入正确的联系人办公电话" }] }, + { name: "todo", label: "联系人移动电话", rules: [{ pattern: PHONE, message: "请输入正确的联系人移动电话" }] }, + { name: "todo", label: "联系人住宅电话", rules: [{ pattern: TEL_PHONE, message: "请输入正确的联系人住宅电话" }] }, + { name: "todo", label: "联系人邮箱", rules: [{ type: "email", message: "请输入正确的联系人邮箱" }], span: 24 }, + { name: "todo", label: "主管单位", render: () }, + { name: "todo", label: "主管单位地址" }, + { name: "todo", label: "企业基本情况", render: FORM_ITEM_RENDER_ENUM.TEXTAREA, span: 24 }, + { name: "todo", label: "客运能力" }, + { name: "todo", label: "货运能力" }, + { name: "todo", label: "应急能力描述", render: FORM_ITEM_RENDER_ENUM.TEXTAREA, span: 24 }, + { name: "todo", label: "备注", render: FORM_ITEM_RENDER_ENUM.TEXTAREA, span: 24 }, + ]} + form={form} + onFinish={onSubmit} + /> + + ); +} + +export default Connect([NS_TRANSPORT_GUARANTEE_ORGANIZATION], true)(Add); diff --git a/src/pages/Container/Enterprise/EmergencyOrganization/ProfessionalGuaranteeOrganization/TransportGuaranteeOrganization/List/index.js b/src/pages/Container/Enterprise/EmergencyOrganization/ProfessionalGuaranteeOrganization/TransportGuaranteeOrganization/List/index.js new file mode 100644 index 0000000..c09e19c --- /dev/null +++ b/src/pages/Container/Enterprise/EmergencyOrganization/ProfessionalGuaranteeOrganization/TransportGuaranteeOrganization/List/index.js @@ -0,0 +1,139 @@ +import { Connect } from "@cqsjjb/jjb-dva-runtime"; +import { Button, message, Modal, Space } from "antd"; +import { useState } from "react"; +import AddIcon from "zy-react-library/components/Icon/AddIcon"; +import DeleteIcon from "zy-react-library/components/Icon/DeleteIcon"; +import Page from "zy-react-library/components/Page"; +import Search from "zy-react-library/components/Search"; +import Table from "zy-react-library/components/Table"; +import useTable from "zy-react-library/hooks/useTable"; +import { NS_TRANSPORT_GUARANTEE_ORGANIZATION } from "~/enumerate/namespace"; + +function List(props) { + const [selectedRowKeys, setSelectedRowKeys] = useState([]); + + const [form] = Search.useForm(); + + const { tableProps, getData } = useTable(props["transportGuaranteeOrganizationList"], { + form, + }); + + const onDelete = (record) => { + Modal.confirm({ + title: "删除确认", + content: `确定要删除【${record.todo}】吗`, + onOk: async () => { + const { success } = await props["transportGuaranteeOrganizationDelete"]({ id: record.id }); + if (success) { + message.success("删除成功"); + getData(); + } + }, + }); + }; + + const onDeleteBatch = () => { + if (selectedRowKeys.length === 0) { + message.warning("请选择要删除的记录"); + return; + } + Modal.confirm({ + title: "删除确认", + content: "确认要删除吗?", + onOk: async () => { + const { success } = await props["transportGuaranteeOrganizationDeleteBatch"]({ ids: selectedRowKeys }); + if (success) { + message.success("删除成功"); + getData(); + } + }, + }); + }; + + return ( + + +
{ + setSelectedRowKeys(selectedRowKeys); + }, + }} + toolBarRender={() => ( + + + + + )} + columns={[ + { title: "运输机构名称", dataIndex: "todo" }, + { title: "运输机构类型", dataIndex: "todo" }, + { title: "运输机构级别", dataIndex: "todo" }, + { title: "地址", dataIndex: "todo" }, + { title: "值班电话", dataIndex: "todo" }, + { + title: "操作", + width: 150, + fixed: "right", + render: (_, record) => ( + + + + + + ), + }, + ]} + {...tableProps} + /> + + ); +} + +export default Connect([NS_TRANSPORT_GUARANTEE_ORGANIZATION], true)(List); diff --git a/src/pages/Container/Enterprise/EmergencyOrganization/ProfessionalGuaranteeOrganization/TransportGuaranteeOrganization/View/index.js b/src/pages/Container/Enterprise/EmergencyOrganization/ProfessionalGuaranteeOrganization/TransportGuaranteeOrganization/View/index.js new file mode 100644 index 0000000..4f54eb2 --- /dev/null +++ b/src/pages/Container/Enterprise/EmergencyOrganization/ProfessionalGuaranteeOrganization/TransportGuaranteeOrganization/View/index.js @@ -0,0 +1,63 @@ +import { Connect } from "@cqsjjb/jjb-dva-runtime"; +import { Descriptions, Spin } from "antd"; +import { useEffect, useState } from "react"; +import Page from "zy-react-library/components/Page"; +import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery"; +import { NS_TRANSPORT_GUARANTEE_ORGANIZATION } from "~/enumerate/namespace"; + +function View(props) { + const query = useGetUrlQuery(); + + const [info, setInfo] = useState({}); + + const getData = async () => { + const { data } = await props["transportGuaranteeOrganizationInfo"]({ id: query.id }); + setInfo(data); + }; + + useEffect(() => { + getData(); + }, []); + + return ( + + + + + + ); +} + +export default Connect([NS_TRANSPORT_GUARANTEE_ORGANIZATION], true)(View); diff --git a/src/pages/Container/Enterprise/EmergencyOrganization/ProfessionalGuaranteeOrganization/TransportGuaranteeOrganization/index.js b/src/pages/Container/Enterprise/EmergencyOrganization/ProfessionalGuaranteeOrganization/TransportGuaranteeOrganization/index.js new file mode 100644 index 0000000..a205eea --- /dev/null +++ b/src/pages/Container/Enterprise/EmergencyOrganization/ProfessionalGuaranteeOrganization/TransportGuaranteeOrganization/index.js @@ -0,0 +1,5 @@ +function TransportGuaranteeOrganization(props) { + return props.children; +} + +export default TransportGuaranteeOrganization; diff --git a/src/pages/Container/Enterprise/EmergencyOrganization/ProfessionalGuaranteeOrganization/index.js b/src/pages/Container/Enterprise/EmergencyOrganization/ProfessionalGuaranteeOrganization/index.js new file mode 100644 index 0000000..ee82816 --- /dev/null +++ b/src/pages/Container/Enterprise/EmergencyOrganization/ProfessionalGuaranteeOrganization/index.js @@ -0,0 +1,5 @@ +function ProfessionalGuaranteeOrganization(props) { + return props.children; +} + +export default ProfessionalGuaranteeOrganization; diff --git a/src/pages/Container/Enterprise/EmergencyOrganization/index.js b/src/pages/Container/Enterprise/EmergencyOrganization/index.js new file mode 100644 index 0000000..d170dc4 --- /dev/null +++ b/src/pages/Container/Enterprise/EmergencyOrganization/index.js @@ -0,0 +1,5 @@ +function EmergencyOrganization(props) { + return props.children; +} + +export default EmergencyOrganization; diff --git a/src/pages/Container/Enterprise/EmergencyResource/ClosedCardPort/Add/index.js b/src/pages/Container/Enterprise/EmergencyResource/ClosedCardPort/Add/index.js new file mode 100644 index 0000000..d0f146f --- /dev/null +++ b/src/pages/Container/Enterprise/EmergencyResource/ClosedCardPort/Add/index.js @@ -0,0 +1,58 @@ +import { Connect } from "@cqsjjb/jjb-dva-runtime"; +import { message } from "antd"; +import { useEffect } from "react"; +import FormBuilder from "zy-react-library/components/FormBuilder"; +import Map from "zy-react-library/components/Map"; +import Page from "zy-react-library/components/Page"; +import { FORM_ITEM_RENDER_ENUM } from "zy-react-library/enum/formItemRender"; +import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery"; +import { PHONE } from "zy-react-library/regular"; +import { NS_CLOSED_CARD_PORT } from "~/enumerate/namespace"; + +function Add(props) { + const query = useGetUrlQuery(); + const [form] = FormBuilder.useForm(); + + const getData = async () => { + if (!query.id) + return; + + const { data } = await props["closedCardPortInfo"]({ id: query.id }); + form.setFieldsValue(data); + }; + + useEffect(() => { + getData(); + }, []); + + const onSubmit = async (values) => { + const { success } = await props[query.id ? "closedCardPortUpdate" : "closedCardPortAdd"]({ + ...values, + id: query.id, + }); + if (success) { + message.success(query.id ? "编辑成功" : "新增成功"); + props.history.goBack(); + } + }; + + return ( + + ) }, + { name: "todo", label: "描述", render: FORM_ITEM_RENDER_ENUM.TEXTAREA, span: 24 }, + ]} + form={form} + onFinish={onSubmit} + /> + + ); +} + +export default Connect([NS_CLOSED_CARD_PORT], true)(Add); diff --git a/src/pages/Container/Enterprise/EmergencyResource/ClosedCardPort/List/index.js b/src/pages/Container/Enterprise/EmergencyResource/ClosedCardPort/List/index.js new file mode 100644 index 0000000..1952321 --- /dev/null +++ b/src/pages/Container/Enterprise/EmergencyResource/ClosedCardPort/List/index.js @@ -0,0 +1,138 @@ +import { Connect } from "@cqsjjb/jjb-dva-runtime"; +import { Button, message, Modal, Space } from "antd"; +import { useState } from "react"; +import AddIcon from "zy-react-library/components/Icon/AddIcon"; +import DeleteIcon from "zy-react-library/components/Icon/DeleteIcon"; +import Page from "zy-react-library/components/Page"; +import Search from "zy-react-library/components/Search"; +import Table from "zy-react-library/components/Table"; +import useTable from "zy-react-library/hooks/useTable"; +import { NS_CLOSED_CARD_PORT } from "~/enumerate/namespace"; + +function List(props) { + const [selectedRowKeys, setSelectedRowKeys] = useState([]); + + const [form] = Search.useForm(); + + const { tableProps, getData } = useTable(props["closedCardPortList"], { + form, + }); + + const onDelete = (record) => { + Modal.confirm({ + title: "删除确认", + content: `确定要删除【${record.todo}】吗`, + onOk: async () => { + const { success } = await props["closedCardPortDelete"]({ id: record.id }); + if (success) { + message.success("删除成功"); + getData(); + } + }, + }); + }; + + const onDeleteBatch = () => { + if (selectedRowKeys.length === 0) { + message.warning("请选择要删除的记录"); + return; + } + Modal.confirm({ + title: "删除确认", + content: "确认要删除吗?", + onOk: async () => { + const { success } = await props["closedCardPortDeleteBatch"]({ ids: selectedRowKeys }); + if (success) { + message.success("删除成功"); + getData(); + } + }, + }); + }; + + return ( + + +
{ + setSelectedRowKeys(selectedRowKeys); + }, + }} + toolBarRender={() => ( + + + + + )} + columns={[ + { title: "卡口名称", dataIndex: "todo" }, + { title: "地址", dataIndex: "todo" }, + { title: "联系人", dataIndex: "todo" }, + { title: "联系电话", dataIndex: "todo" }, + { + title: "操作", + width: 150, + fixed: "right", + render: (_, record) => ( + + + + + + ), + }, + ]} + {...tableProps} + /> + + ); +} + +export default Connect([NS_CLOSED_CARD_PORT], true)(List); diff --git a/src/pages/Container/Enterprise/EmergencyResource/ClosedCardPort/View/index.js b/src/pages/Container/Enterprise/EmergencyResource/ClosedCardPort/View/index.js new file mode 100644 index 0000000..240833b --- /dev/null +++ b/src/pages/Container/Enterprise/EmergencyResource/ClosedCardPort/View/index.js @@ -0,0 +1,44 @@ +import { Connect } from "@cqsjjb/jjb-dva-runtime"; +import { Descriptions, Spin } from "antd"; +import { useEffect, useState } from "react"; +import Page from "zy-react-library/components/Page"; +import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery"; +import { NS_CLOSED_CARD_PORT } from "~/enumerate/namespace"; + +function View(props) { + const query = useGetUrlQuery(); + + const [info, setInfo] = useState({}); + + const getData = async () => { + const { data } = await props["closedCardPortInfo"]({ id: query.id }); + setInfo(data); + }; + + useEffect(() => { + getData(); + }, []); + + return ( + + + + + + ); +} + +export default Connect([NS_CLOSED_CARD_PORT], true)(View); diff --git a/src/pages/Container/Enterprise/EmergencyResource/ClosedCardPort/index.js b/src/pages/Container/Enterprise/EmergencyResource/ClosedCardPort/index.js new file mode 100644 index 0000000..558ffa8 --- /dev/null +++ b/src/pages/Container/Enterprise/EmergencyResource/ClosedCardPort/index.js @@ -0,0 +1,5 @@ +function ClosedCardPort(props) { + return props.children; +} + +export default ClosedCardPort; diff --git a/src/pages/Container/Enterprise/EmergencyResource/DrainageWell/Add/index.js b/src/pages/Container/Enterprise/EmergencyResource/DrainageWell/Add/index.js new file mode 100644 index 0000000..4718302 --- /dev/null +++ b/src/pages/Container/Enterprise/EmergencyResource/DrainageWell/Add/index.js @@ -0,0 +1,58 @@ +import { Connect } from "@cqsjjb/jjb-dva-runtime"; +import { message } from "antd"; +import { useEffect } from "react"; +import FormBuilder from "zy-react-library/components/FormBuilder"; +import Map from "zy-react-library/components/Map"; +import Page from "zy-react-library/components/Page"; +import DictionarySelect from "zy-react-library/components/Select/Dictionary"; +import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery"; +import { TEL_PHONE } from "zy-react-library/regular"; +import { NS_DRAINAGE_WELL } from "~/enumerate/namespace"; + +function Add(props) { + const query = useGetUrlQuery(); + const [form] = FormBuilder.useForm(); + + const getData = async () => { + if (!query.id) + return; + + const { data } = await props["drainageWellInfo"]({ id: query.id }); + form.setFieldsValue(data); + }; + + useEffect(() => { + getData(); + }, []); + + const onSubmit = async (values) => { + const { success } = await props[query.id ? "drainageWellUpdate" : "drainageWellAdd"]({ + ...values, + id: query.id, + }); + if (success) { + message.success(query.id ? "编辑成功" : "新增成功"); + props.history.goBack(); + } + }; + + return ( + + ) }, + { name: "todo", label: "详情地址", required: false, span: 24 }, + { name: "todo", label: "联系人", required: false }, + { name: "todo", label: "联系人固定电话", required: false, rules: [{ pattern: TEL_PHONE, message: "请输入正确的电话号码" }] }, + { key: "map", customizeRender: true, span: 24, render: () }, + ]} + form={form} + onFinish={onSubmit} + /> + + ); +} + +export default Connect([NS_DRAINAGE_WELL], true)(Add); diff --git a/src/pages/Container/Enterprise/EmergencyResource/DrainageWell/List/index.js b/src/pages/Container/Enterprise/EmergencyResource/DrainageWell/List/index.js new file mode 100644 index 0000000..181afdd --- /dev/null +++ b/src/pages/Container/Enterprise/EmergencyResource/DrainageWell/List/index.js @@ -0,0 +1,141 @@ +import { Connect } from "@cqsjjb/jjb-dva-runtime"; +import { Button, message, Modal, Space } from "antd"; +import { useState } from "react"; +import AddIcon from "zy-react-library/components/Icon/AddIcon"; +import DeleteIcon from "zy-react-library/components/Icon/DeleteIcon"; +import Page from "zy-react-library/components/Page"; +import Search from "zy-react-library/components/Search"; +import DictionarySelect from "zy-react-library/components/Select/Dictionary"; +import Table from "zy-react-library/components/Table"; +import useTable from "zy-react-library/hooks/useTable"; +import { NS_DRAINAGE_WELL } from "~/enumerate/namespace"; + +function List(props) { + const [selectedRowKeys, setSelectedRowKeys] = useState([]); + + const [form] = Search.useForm(); + + const { tableProps, getData } = useTable(props["drainageWellList"], { + form, + }); + + const onDelete = (record) => { + Modal.confirm({ + title: "删除确认", + content: `确定要删除【${record.todo}】吗`, + onOk: async () => { + const { success } = await props["drainageWellDelete"]({ id: record.id }); + if (success) { + message.success("删除成功"); + getData(); + } + }, + }); + }; + + const onDeleteBatch = () => { + if (selectedRowKeys.length === 0) { + message.warning("请选择要删除的记录"); + return; + } + Modal.confirm({ + title: "删除确认", + content: "确认要删除吗?", + onOk: async () => { + const { success } = await props["drainageWellDeleteBatch"]({ ids: selectedRowKeys }); + if (success) { + message.success("删除成功"); + getData(); + } + }, + }); + }; + + return ( + + ) }, + ]} + form={form} + onFinish={getData} + /> +
{ + setSelectedRowKeys(selectedRowKeys); + }, + }} + toolBarRender={() => ( + + + + + )} + columns={[ + { title: "排水井名称", dataIndex: "todo" }, + { title: "类型", dataIndex: "todo" }, + { title: "所在地址", dataIndex: "todo" }, + { title: "联系人", dataIndex: "todo" }, + { title: "联系人电话", dataIndex: "todo" }, + { + title: "操作", + width: 150, + fixed: "right", + render: (_, record) => ( + + + + + + ), + }, + ]} + {...tableProps} + /> + + ); +} + +export default Connect([NS_DRAINAGE_WELL], true)(List); diff --git a/src/pages/Container/Enterprise/EmergencyResource/DrainageWell/View/index.js b/src/pages/Container/Enterprise/EmergencyResource/DrainageWell/View/index.js new file mode 100644 index 0000000..d032382 --- /dev/null +++ b/src/pages/Container/Enterprise/EmergencyResource/DrainageWell/View/index.js @@ -0,0 +1,44 @@ +import { Connect } from "@cqsjjb/jjb-dva-runtime"; +import { Descriptions, Spin } from "antd"; +import { useEffect, useState } from "react"; +import Page from "zy-react-library/components/Page"; +import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery"; +import { NS_DRAINAGE_WELL } from "~/enumerate/namespace"; + +function View(props) { + const query = useGetUrlQuery(); + + const [info, setInfo] = useState({}); + + const getData = async () => { + const { data } = await props["drainageWellInfo"]({ id: query.id }); + setInfo(data); + }; + + useEffect(() => { + getData(); + }, []); + + return ( + + + + + + ); +} + +export default Connect([NS_DRAINAGE_WELL], true)(View); diff --git a/src/pages/Container/Enterprise/EmergencyResource/DrainageWell/index.js b/src/pages/Container/Enterprise/EmergencyResource/DrainageWell/index.js new file mode 100644 index 0000000..4ba101a --- /dev/null +++ b/src/pages/Container/Enterprise/EmergencyResource/DrainageWell/index.js @@ -0,0 +1,5 @@ +function DrainageWell(props) { + return props.children; +} + +export default DrainageWell; diff --git a/src/pages/Container/Enterprise/EmergencyResource/EmergencyEquipment/Add/index.js b/src/pages/Container/Enterprise/EmergencyResource/EmergencyEquipment/Add/index.js new file mode 100644 index 0000000..36f3c01 --- /dev/null +++ b/src/pages/Container/Enterprise/EmergencyResource/EmergencyEquipment/Add/index.js @@ -0,0 +1,62 @@ +import { Connect } from "@cqsjjb/jjb-dva-runtime"; +import { message } from "antd"; +import { useEffect } from "react"; +import FormBuilder from "zy-react-library/components/FormBuilder"; +import Page from "zy-react-library/components/Page"; +import DictionarySelect from "zy-react-library/components/Select/Dictionary"; +import { FORM_ITEM_RENDER_ENUM } from "zy-react-library/enum/formItemRender"; +import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery"; +import { PHONE } from "zy-react-library/regular"; +import { NS_EMERGENCY_EQUIPMENT } from "~/enumerate/namespace"; + +function Add(props) { + const query = useGetUrlQuery(); + const [form] = FormBuilder.useForm(); + + const getData = async () => { + if (!query.id) + return; + + const { data } = await props["emergencyEquipmentInfo"]({ id: query.id }); + form.setFieldsValue(data); + }; + + useEffect(() => { + getData(); + }, []); + + const onSubmit = async (values) => { + const { success } = await props[query.id ? "emergencyEquipmentUpdate" : "emergencyEquipmentAdd"]({ + ...values, + id: query.id, + }); + if (success) { + message.success(query.id ? "编辑成功" : "新增成功"); + props.history.goBack(); + } + }; + + return ( + + ) }, + { name: "todo", label: "规格型号" }, + { name: "todo", label: "技术性能指标" }, + { name: "todo", label: "保养周期" }, + { name: "todo", label: "有效期", render: FORM_ITEM_RENDER_ENUM.DATE }, + { name: "todo", label: "用途说明", render: FORM_ITEM_RENDER_ENUM.TEXTAREA, span: 24 }, + { name: "todo", label: "存放场所", span: 24 }, + { name: "todo", label: "负责保管人姓名" }, + { name: "todo", label: "负责保管人电话", rules: [{ pattern: PHONE, message: "请输入正确的电话号码" }] }, + ]} + form={form} + onFinish={onSubmit} + /> + + ); +} + +export default Connect([NS_EMERGENCY_EQUIPMENT], true)(Add); diff --git a/src/pages/Container/Enterprise/EmergencyResource/EmergencyEquipment/List/index.js b/src/pages/Container/Enterprise/EmergencyResource/EmergencyEquipment/List/index.js new file mode 100644 index 0000000..68e0fd3 --- /dev/null +++ b/src/pages/Container/Enterprise/EmergencyResource/EmergencyEquipment/List/index.js @@ -0,0 +1,140 @@ +import { Connect } from "@cqsjjb/jjb-dva-runtime"; +import { Button, message, Modal, Space } from "antd"; +import { useState } from "react"; +import AddIcon from "zy-react-library/components/Icon/AddIcon"; +import DeleteIcon from "zy-react-library/components/Icon/DeleteIcon"; +import Page from "zy-react-library/components/Page"; +import Search from "zy-react-library/components/Search"; +import DictionarySelect from "zy-react-library/components/Select/Dictionary"; +import Table from "zy-react-library/components/Table"; +import useTable from "zy-react-library/hooks/useTable"; +import { NS_EMERGENCY_EQUIPMENT } from "~/enumerate/namespace"; + +function List(props) { + const [selectedRowKeys, setSelectedRowKeys] = useState([]); + + const [form] = Search.useForm(); + + const { tableProps, getData } = useTable(props["emergencyEquipmentList"], { + form, + }); + + const onDelete = (record) => { + Modal.confirm({ + title: "删除确认", + content: `确定要删除【${record.todo}】吗`, + onOk: async () => { + const { success } = await props["emergencyEquipmentDelete"]({ id: record.id }); + if (success) { + message.success("删除成功"); + getData(); + } + }, + }); + }; + + const onDeleteBatch = () => { + if (selectedRowKeys.length === 0) { + message.warning("请选择要删除的记录"); + return; + } + Modal.confirm({ + title: "删除确认", + content: "确认要删除吗?", + onOk: async () => { + const { success } = await props["emergencyEquipmentDeleteBatch"]({ ids: selectedRowKeys }); + if (success) { + message.success("删除成功"); + getData(); + } + }, + }); + }; + + return ( + + ) }, + ]} + form={form} + onFinish={getData} + /> +
{ + setSelectedRowKeys(selectedRowKeys); + }, + }} + toolBarRender={() => ( + + + + + )} + columns={[ + { title: "装备名称", dataIndex: "todo" }, + { title: "装备类别", dataIndex: "todo" }, + { title: "规格型号", dataIndex: "todo" }, + { title: "用途", dataIndex: "todo" }, + { + title: "操作", + width: 200, + fixed: "right", + render: (_, record) => ( + + + + + + ), + }, + ]} + {...tableProps} + /> + + ); +} + +export default Connect([NS_EMERGENCY_EQUIPMENT], true)(List); diff --git a/src/pages/Container/Enterprise/EmergencyResource/EmergencyEquipment/View/index.js b/src/pages/Container/Enterprise/EmergencyResource/EmergencyEquipment/View/index.js new file mode 100644 index 0000000..5ba8122 --- /dev/null +++ b/src/pages/Container/Enterprise/EmergencyResource/EmergencyEquipment/View/index.js @@ -0,0 +1,47 @@ +import { Connect } from "@cqsjjb/jjb-dva-runtime"; +import { Descriptions, Spin } from "antd"; +import { useEffect, useState } from "react"; +import Page from "zy-react-library/components/Page"; +import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery"; +import { NS_EMERGENCY_EQUIPMENT } from "~/enumerate/namespace"; + +function View(props) { + const [info, setInfo] = useState({}); + + const query = useGetUrlQuery(); + + const getData = async () => { + const { data } = await props["emergencyEquipmentInfo"]({ id: query.id }); + setInfo(data); + }; + + useEffect(() => { + getData(); + }, []); + + return ( + + + + + + ); +} + +export default Connect([NS_EMERGENCY_EQUIPMENT], true)(View); diff --git a/src/pages/Container/Enterprise/EmergencyResource/EmergencyEquipment/index.js b/src/pages/Container/Enterprise/EmergencyResource/EmergencyEquipment/index.js new file mode 100644 index 0000000..1b2e6f6 --- /dev/null +++ b/src/pages/Container/Enterprise/EmergencyResource/EmergencyEquipment/index.js @@ -0,0 +1,5 @@ +function EmergencyEquipment(props) { + return props.children; +} + +export default EmergencyEquipment; diff --git a/src/pages/Container/Enterprise/EmergencyResource/EmergencyShelter/Add/index.js b/src/pages/Container/Enterprise/EmergencyResource/EmergencyShelter/Add/index.js new file mode 100644 index 0000000..b58eb56 --- /dev/null +++ b/src/pages/Container/Enterprise/EmergencyResource/EmergencyShelter/Add/index.js @@ -0,0 +1,79 @@ +import { Connect } from "@cqsjjb/jjb-dva-runtime"; +import { message } from "antd"; +import { useEffect, useState } from "react"; +import AreaCascader from "zy-react-library/components/Cascader/Area"; +import FormBuilder from "zy-react-library/components/FormBuilder"; +import Map from "zy-react-library/components/Map"; +import Page from "zy-react-library/components/Page"; +import DictionarySelect from "zy-react-library/components/Select/Dictionary"; +import { FORM_ITEM_RENDER_ENUM } from "zy-react-library/enum/formItemRender"; +import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery"; +import { PHONE, TEL_PHONE } from "zy-react-library/regular"; +import { NS_EMERGENCY_SHELTER, NS_GLOBAL } from "~/enumerate/namespace"; + +function Add(props) { + const query = useGetUrlQuery(); + const [form] = FormBuilder.useForm(); + + const [corpInfoList, setCorpInfoList] = useState([]); + + const getData = async () => { + if (!query.id) + return; + + const { data } = await props["emergencyShelterInfo"]({ id: query.id }); + form.setFieldsValue(data); + }; + + const getCorpInfoList = async () => { + const { data } = await props["corpInfoListAll"]({ enterpriseType: 2 }); + setCorpInfoList(data); + }; + + useEffect(() => { + getData(); + getCorpInfoList(); + }, []); + + const onSubmit = async (values) => { + const { success } = await props[query.id ? "emergencyShelterUpdate" : "emergencyShelterAdd"]({ + ...values, + id: query.id, + }); + if (success) { + message.success(query.id ? "编辑成功" : "新增成功"); + props.history.goBack(); + } + }; + + return ( + + ) }, + { name: "todo", label: "详情地址", required: false, span: 24 }, + { key: "map", customizeRender: true, span: 24, render: () }, + { name: "todo", label: "联系人" }, + { name: "todo", label: "联系人固定电话", rules: [{ pattern: TEL_PHONE, message: "请输入正确的电话号码" }] }, + { name: "todo", label: "联系人移动电话", required: false, rules: [{ pattern: PHONE, message: "请输入正确的手机号" }] }, + { name: "todo", label: "企业名称", required: false }, + { name: "todo", label: "所属区域", render: (), required: false }, + { + name: "todo", + label: "所属单位", + render: FORM_ITEM_RENDER_ENUM.SELECT, + items: corpInfoList, + itemsField: { labelKey: "corpName", valueKey: "id" }, + required: false, + }, + ]} + form={form} + onFinish={onSubmit} + /> + + ); +} + +export default Connect([NS_EMERGENCY_SHELTER, NS_GLOBAL], true)(Add); diff --git a/src/pages/Container/Enterprise/EmergencyResource/EmergencyShelter/List/index.js b/src/pages/Container/Enterprise/EmergencyResource/EmergencyShelter/List/index.js new file mode 100644 index 0000000..f39fe97 --- /dev/null +++ b/src/pages/Container/Enterprise/EmergencyResource/EmergencyShelter/List/index.js @@ -0,0 +1,138 @@ +import { Connect } from "@cqsjjb/jjb-dva-runtime"; +import { Button, message, Modal, Space } from "antd"; +import { useState } from "react"; +import AddIcon from "zy-react-library/components/Icon/AddIcon"; +import DeleteIcon from "zy-react-library/components/Icon/DeleteIcon"; +import Page from "zy-react-library/components/Page"; +import Search from "zy-react-library/components/Search"; +import Table from "zy-react-library/components/Table"; +import useTable from "zy-react-library/hooks/useTable"; +import { NS_EMERGENCY_SHELTER } from "~/enumerate/namespace"; + +function List(props) { + const [selectedRowKeys, setSelectedRowKeys] = useState([]); + + const [form] = Search.useForm(); + + const { tableProps, getData } = useTable(props["emergencyShelterList"], { + form, + }); + + const onDelete = (record) => { + Modal.confirm({ + title: "删除确认", + content: `确定要删除【${record.todo}】吗`, + onOk: async () => { + const { success } = await props["emergencyShelterDelete"]({ id: record.id }); + if (success) { + message.success("删除成功"); + getData(); + } + }, + }); + }; + + const onDeleteBatch = () => { + if (selectedRowKeys.length === 0) { + message.warning("请选择要删除的记录"); + return; + } + Modal.confirm({ + title: "删除确认", + content: "确认要删除吗?", + onOk: async () => { + const { success } = await props["emergencyShelterDeleteBatch"]({ ids: selectedRowKeys }); + if (success) { + message.success("删除成功"); + getData(); + } + }, + }); + }; + + return ( + + +
{ + setSelectedRowKeys(selectedRowKeys); + }, + }} + toolBarRender={() => ( + + + + + )} + columns={[ + { title: "避难所名称", dataIndex: "todo" }, + { title: "场所类型", dataIndex: "todo" }, + { title: "联系人", dataIndex: "todo" }, + { title: "联系人固定电话", dataIndex: "todo" }, + { + title: "操作", + width: 150, + fixed: "right", + render: (_, record) => ( + + + + + + ), + }, + ]} + {...tableProps} + /> + + ); +} + +export default Connect([NS_EMERGENCY_SHELTER], true)(List); diff --git a/src/pages/Container/Enterprise/EmergencyResource/EmergencyShelter/View/index.js b/src/pages/Container/Enterprise/EmergencyResource/EmergencyShelter/View/index.js new file mode 100644 index 0000000..1382521 --- /dev/null +++ b/src/pages/Container/Enterprise/EmergencyResource/EmergencyShelter/View/index.js @@ -0,0 +1,48 @@ +import { Connect } from "@cqsjjb/jjb-dva-runtime"; +import { Descriptions, Spin } from "antd"; +import { useEffect, useState } from "react"; +import Page from "zy-react-library/components/Page"; +import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery"; +import { NS_EMERGENCY_SHELTER } from "~/enumerate/namespace"; + +function View(props) { + const query = useGetUrlQuery(); + + const [info, setInfo] = useState({}); + + const getData = async () => { + const { data } = await props["emergencyShelterInfo"]({ id: query.id }); + setInfo(data); + }; + + useEffect(() => { + getData(); + }, []); + + return ( + + + + + + ); +} + +export default Connect([NS_EMERGENCY_SHELTER], true)(View); diff --git a/src/pages/Container/Enterprise/EmergencyResource/EmergencyShelter/index.js b/src/pages/Container/Enterprise/EmergencyResource/EmergencyShelter/index.js new file mode 100644 index 0000000..fa030af --- /dev/null +++ b/src/pages/Container/Enterprise/EmergencyResource/EmergencyShelter/index.js @@ -0,0 +1,5 @@ +function EmergencyShelter(props) { + return props.children; +} + +export default EmergencyShelter; diff --git a/src/pages/Container/Enterprise/EmergencyResource/MaterialEquipment/Add/index.js b/src/pages/Container/Enterprise/EmergencyResource/MaterialEquipment/Add/index.js new file mode 100644 index 0000000..aeddce9 --- /dev/null +++ b/src/pages/Container/Enterprise/EmergencyResource/MaterialEquipment/Add/index.js @@ -0,0 +1,61 @@ +import { Connect } from "@cqsjjb/jjb-dva-runtime"; +import { message } from "antd"; +import { useEffect } from "react"; +import FormBuilder from "zy-react-library/components/FormBuilder"; +import Map from "zy-react-library/components/Map"; +import Page from "zy-react-library/components/Page"; +import { FORM_ITEM_RENDER_ENUM } from "zy-react-library/enum/formItemRender"; +import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery"; +import { PHONE, TEL_PHONE } from "zy-react-library/regular"; +import { NS_MATERIAL_EQUIPMENT } from "~/enumerate/namespace"; + +function Add(props) { + const query = useGetUrlQuery(); + const [form] = FormBuilder.useForm(); + + const getData = async () => { + if (!query.id) + return; + + const { data } = await props["materialEquipmentInfo"]({ id: query.id }); + form.setFieldsValue(data); + }; + + useEffect(() => { + getData(); + }, []); + + const onSubmit = async (values) => { + const { success } = await props[query.id ? "materialEquipmentUpdate" : "materialEquipmentAdd"]({ + ...values, + id: query.id, + }); + if (success) { + message.success(query.id ? "编辑成功" : "新增成功"); + props.history.goBack(); + } + }; + + return ( + + ) }, + ]} + form={form} + onFinish={onSubmit} + /> + + ); +} + +export default Connect([NS_MATERIAL_EQUIPMENT], true)(Add); diff --git a/src/pages/Container/Enterprise/EmergencyResource/MaterialEquipment/FacilitiesEquipment/Add/index.js b/src/pages/Container/Enterprise/EmergencyResource/MaterialEquipment/FacilitiesEquipment/Add/index.js new file mode 100644 index 0000000..879708f --- /dev/null +++ b/src/pages/Container/Enterprise/EmergencyResource/MaterialEquipment/FacilitiesEquipment/Add/index.js @@ -0,0 +1,107 @@ +import { Connect } from "@cqsjjb/jjb-dva-runtime"; +import { message } from "antd"; +import { useEffect, useRef } from "react"; +import FormBuilder from "zy-react-library/components/FormBuilder"; +import Map from "zy-react-library/components/Map"; +import Page from "zy-react-library/components/Page"; +import DictionarySelect from "zy-react-library/components/Select/Dictionary"; +import Upload from "zy-react-library/components/Upload"; +import { FORM_ITEM_RENDER_ENUM } from "zy-react-library/enum/formItemRender"; +import { UPLOAD_FILE_TYPE_ENUM } from "zy-react-library/enum/uploadFile/gwj"; +import useDeleteFile from "zy-react-library/hooks/useDeleteFile"; +import useGetFile from "zy-react-library/hooks/useGetFile"; +import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery"; +import useUploadFile from "zy-react-library/hooks/useUploadFile"; +import { PHONE } from "zy-react-library/regular"; +import { NS_MATERIAL_EQUIPMENT } from "~/enumerate/namespace"; + +function Add(props) { + const query = useGetUrlQuery(); + const [form] = FormBuilder.useForm(); + const { loading: getFileLoading, getFile } = useGetFile(); + const { loading: deleteFileLoading, deleteFile } = useDeleteFile(); + const { loading: uploadFileLoading, uploadFile } = useUploadFile(); + + const fileIdRef = useRef(""); + + const getData = async () => { + if (!query.id) + return; + + const { data } = await props["facilitiesEquipmentInfo"]({ id: query.id }); + fileIdRef.current = data.fileId; + const files = await getFile({ eqType: UPLOAD_FILE_TYPE_ENUM[701], eqForeignKey: data.fileId }); + form.setFieldsValue({ + ...data, + files, + }); + }; + + useEffect(() => { + getData(); + }, []); + + const onSubmit = async (values) => { + await deleteFile({ single: false, files: values.deleteFiles }); + const { id: fileId } = await uploadFile({ + single: false, + files: values.files, + params: { type: UPLOAD_FILE_TYPE_ENUM[701], foreignKey: fileIdRef.current }, + }); + const { success } = await props[query.id ? "facilitiesEquipmentUpdate" : "facilitiesEquipmentAdd"]({ + ...values, + fileId, + id: query.id, + materialEquipmentId: query.materialEquipmentId, + }); + if (success) { + message.success(query.id ? "编辑成功" : "新增成功"); + props.history.goBack(); + } + }; + + return ( + + ) }, + { key: "map", customizeRender: true, span: 24, render: () }, + { name: "todo", label: "联系人" }, + { name: "todo", label: "联系人电话", rules: [{ pattern: PHONE, message: "请输入正确的电话号码" }] }, + { name: "todo", label: "第二联系人", required: false }, + { + name: "todo", + label: "第二联系人电话", + rules: [{ pattern: PHONE, message: "请输入正确的电话号码" }], + required: false, + }, + { name: "todo", label: "概述", required: false, render: FORM_ITEM_RENDER_ENUM.TEXTAREA, span: 24 }, + { + name: "files", + label: "附件", + required: false, + render: ( + { + form.setFieldValue("deleteFiles", [...(form.getFieldValue("deleteFiles") || []), file]); + }} + /> + ), + span: 24, + }, + { name: "deleteFiles", label: "删除的附件", onlyForLabel: true }, + ]} + form={form} + onFinish={onSubmit} + /> + + ); +} + +export default Connect([NS_MATERIAL_EQUIPMENT], true)(Add); diff --git a/src/pages/Container/Enterprise/EmergencyResource/MaterialEquipment/FacilitiesEquipment/List/index.js b/src/pages/Container/Enterprise/EmergencyResource/MaterialEquipment/FacilitiesEquipment/List/index.js new file mode 100644 index 0000000..7052efa --- /dev/null +++ b/src/pages/Container/Enterprise/EmergencyResource/MaterialEquipment/FacilitiesEquipment/List/index.js @@ -0,0 +1,145 @@ +import { Connect } from "@cqsjjb/jjb-dva-runtime"; +import { Button, message, Modal, Space } from "antd"; +import { useState } from "react"; +import AddIcon from "zy-react-library/components/Icon/AddIcon"; +import DeleteIcon from "zy-react-library/components/Icon/DeleteIcon"; +import Page from "zy-react-library/components/Page"; +import Search from "zy-react-library/components/Search"; +import Table from "zy-react-library/components/Table"; +import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery"; +import useTable from "zy-react-library/hooks/useTable"; +import { NS_MATERIAL_EQUIPMENT } from "~/enumerate/namespace"; + +function List(props) { + const [selectedRowKeys, setSelectedRowKeys] = useState([]); + + const query = useGetUrlQuery(); + const [form] = Search.useForm(); + + const { tableProps, getData } = useTable(props["facilitiesEquipmentList"], { + form, + params: { materialEquipmentId: query.id }, + }); + + const onDelete = (record) => { + Modal.confirm({ + title: "删除确认", + content: `确定要删除【${record.todo}】吗`, + onOk: async () => { + const { success } = await props["facilitiesEquipmentDelete"]({ id: record.id, materialEquipmentId: query.id }); + if (success) { + message.success("删除成功"); + getData(); + } + }, + }); + }; + + const onDeleteBatch = () => { + if (selectedRowKeys.length === 0) { + message.warning("请选择要删除的记录"); + return; + } + Modal.confirm({ + title: "删除确认", + content: "确认要删除吗?", + onOk: async () => { + const { success } = await props["facilitiesEquipmentDeleteBatch"]({ + ids: selectedRowKeys, + materialEquipmentId: query.id, + }); + if (success) { + message.success("删除成功"); + getData(); + } + }, + }); + }; + + return ( + + +
{ + setSelectedRowKeys(selectedRowKeys); + }, + }} + toolBarRender={() => ( + + + + + )} + columns={[ + { title: "设备名称", dataIndex: "todo" }, + { title: "设备类型", dataIndex: "todo" }, + { title: "联系人", dataIndex: "todo" }, + { title: "联系人固定电话", dataIndex: "todo" }, + { title: "修改时间", dataIndex: "todo" }, + { + title: "操作", + width: 150, + fixed: "right", + render: (_, record) => ( + + + + + + ), + }, + ]} + {...tableProps} + /> + + ); +} + +export default Connect([NS_MATERIAL_EQUIPMENT], true)(List); diff --git a/src/pages/Container/Enterprise/EmergencyResource/MaterialEquipment/FacilitiesEquipment/View/index.js b/src/pages/Container/Enterprise/EmergencyResource/MaterialEquipment/FacilitiesEquipment/View/index.js new file mode 100644 index 0000000..cd93e31 --- /dev/null +++ b/src/pages/Container/Enterprise/EmergencyResource/MaterialEquipment/FacilitiesEquipment/View/index.js @@ -0,0 +1,52 @@ +import { Connect } from "@cqsjjb/jjb-dva-runtime"; +import { Descriptions, Spin } from "antd"; +import { useEffect, useState } from "react"; +import Page from "zy-react-library/components/Page"; +import PreviewImg from "zy-react-library/components/PreviewImg"; +import PreviewPdf from "zy-react-library/components/PreviewPdf"; +import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery"; +import { getFileSuffix } from "zy-react-library/utils"; +import { NS_MATERIAL_EQUIPMENT } from "~/enumerate/namespace"; + +function View(props) { + const query = useGetUrlQuery(); + + const [info, setInfo] = useState({}); + + const getData = async () => { + const { data } = await props["facilitiesEquipmentInfo"]({ id: query.id }); + setInfo(data); + }; + + useEffect(() => { + getData(); + }, []); + + return ( + + + + : }, + ]} + /> + + + ); +} + +export default Connect([NS_MATERIAL_EQUIPMENT], true)(View); diff --git a/src/pages/Container/Enterprise/EmergencyResource/MaterialEquipment/FacilitiesEquipment/index.js b/src/pages/Container/Enterprise/EmergencyResource/MaterialEquipment/FacilitiesEquipment/index.js new file mode 100644 index 0000000..da67ad0 --- /dev/null +++ b/src/pages/Container/Enterprise/EmergencyResource/MaterialEquipment/FacilitiesEquipment/index.js @@ -0,0 +1,5 @@ +function FacilitiesEquipment(props) { + return props.children; +} + +export default FacilitiesEquipment; diff --git a/src/pages/Container/Enterprise/EmergencyResource/MaterialEquipment/List/index.js b/src/pages/Container/Enterprise/EmergencyResource/MaterialEquipment/List/index.js new file mode 100644 index 0000000..c554fee --- /dev/null +++ b/src/pages/Container/Enterprise/EmergencyResource/MaterialEquipment/List/index.js @@ -0,0 +1,166 @@ +import { Connect } from "@cqsjjb/jjb-dva-runtime"; +import { Button, message, Modal, Space } from "antd"; +import { useState } from "react"; +import AddIcon from "zy-react-library/components/Icon/AddIcon"; +import DeleteIcon from "zy-react-library/components/Icon/DeleteIcon"; +import Page from "zy-react-library/components/Page"; +import Search from "zy-react-library/components/Search"; +import Table from "zy-react-library/components/Table"; +import useTable from "zy-react-library/hooks/useTable"; +import { NS_MATERIAL_EQUIPMENT } from "~/enumerate/namespace"; + +function List(props) { + const [selectedRowKeys, setSelectedRowKeys] = useState([]); + + const [form] = Search.useForm(); + + const { tableProps, getData } = useTable(props["materialEquipmentList"], { + form, + }); + + const onDelete = (record) => { + Modal.confirm({ + title: "删除确认", + content: `确定要删除【${record.todo}】吗`, + onOk: async () => { + const { success } = await props["materialEquipmentDelete"]({ id: record.id }); + if (success) { + message.success("删除成功"); + getData(); + } + }, + }); + }; + + const onDeleteBatch = () => { + if (selectedRowKeys.length === 0) { + message.warning("请选择要删除的记录"); + return; + } + Modal.confirm({ + title: "删除确认", + content: "确认要删除吗?", + onOk: async () => { + const { success } = await props["materialEquipmentDeleteBatch"]({ ids: selectedRowKeys }); + if (success) { + message.success("删除成功"); + getData(); + } + }, + }); + }; + + return ( + + +
{ + setSelectedRowKeys(selectedRowKeys); + }, + }} + toolBarRender={() => ( + + + + + )} + columns={[ + { title: "资源库名称", dataIndex: "todo" }, + { title: "所在地点", dataIndex: "todo" }, + { title: "存放资源类别", dataIndex: "todo" }, + { title: "资源数量", dataIndex: "todo" }, + { title: "联系人", dataIndex: "todo" }, + { title: "联系人电话", dataIndex: "todo" }, + { + title: "操作", + width: 300, + fixed: "right", + render: (_, record) => ( + + + + + + + + + ), + }, + ]} + {...tableProps} + /> + + ); +} + +export default Connect([NS_MATERIAL_EQUIPMENT], true)(List); diff --git a/src/pages/Container/Enterprise/EmergencyResource/MaterialEquipment/Material/Add/index.js b/src/pages/Container/Enterprise/EmergencyResource/MaterialEquipment/Material/Add/index.js new file mode 100644 index 0000000..fbc6fee --- /dev/null +++ b/src/pages/Container/Enterprise/EmergencyResource/MaterialEquipment/Material/Add/index.js @@ -0,0 +1,82 @@ +import { Connect } from "@cqsjjb/jjb-dva-runtime"; +import { message } from "antd"; +import { useEffect, useState } from "react"; +import FormBuilder from "zy-react-library/components/FormBuilder"; +import Map from "zy-react-library/components/Map"; +import Page from "zy-react-library/components/Page"; +import DictionarySelect from "zy-react-library/components/Select/Dictionary"; +import { FORM_ITEM_RENDER_ENUM } from "zy-react-library/enum/formItemRender"; +import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery"; +import { PHONE, TEL_PHONE } from "zy-react-library/regular"; +import { NS_GLOBAL, NS_MATERIAL_EQUIPMENT } from "~/enumerate/namespace"; + +function Add(props) { + const query = useGetUrlQuery(); + const [form] = FormBuilder.useForm(); + + const [corpInfoList, setCorpInfoList] = useState([]); + + const getData = async () => { + if (!query.id) + return; + + const { data } = await props["facilitiesEquipmentInfo"]({ id: query.id }); + form.setFieldsValue(data); + }; + + const getCorpInfoList = async () => { + const { data } = await props["corpInfoListAll"]({ enterpriseType: 2 }); + setCorpInfoList(data); + }; + + useEffect(() => { + getData(); + getCorpInfoList(); + }, []); + + const onSubmit = async (values) => { + const { success } = await props[query.id ? "materialUpdate" : "materialAdd"]({ + ...values, + id: query.id, + materialEquipmentId: query.materialEquipmentId, + }); + if (success) { + message.success(query.id ? "编辑成功" : "新增成功"); + props.history.goBack(); + } + }; + + return ( + + ) }, + { key: "map", customizeRender: true, span: 24, render: () }, + { name: "todo", label: "负责保管人" }, + { name: "todo", label: "保管人固定电话", rules: [{ pattern: TEL_PHONE, message: "请输入正确的电话号码" }] }, + { + name: "todo", + label: "保管人移动电话", + required: false, + rules: [{ pattern: PHONE, message: "请输入正确的电话号码" }], + }, + { name: "todo", label: "企业名称", required: false }, + { + name: "todo", + label: "采集单位", + render: FORM_ITEM_RENDER_ENUM.SELECT, + items: corpInfoList, + itemsField: { labelKey: "corpName", valueKey: "id" }, + required: false, + }, + ]} + form={form} + onFinish={onSubmit} + /> + + ); +} + +export default Connect([NS_MATERIAL_EQUIPMENT, NS_GLOBAL], true)(Add); diff --git a/src/pages/Container/Enterprise/EmergencyResource/MaterialEquipment/Material/List/index.js b/src/pages/Container/Enterprise/EmergencyResource/MaterialEquipment/Material/List/index.js new file mode 100644 index 0000000..13603f1 --- /dev/null +++ b/src/pages/Container/Enterprise/EmergencyResource/MaterialEquipment/Material/List/index.js @@ -0,0 +1,143 @@ +import { Connect } from "@cqsjjb/jjb-dva-runtime"; +import { Button, message, Modal, Space } from "antd"; +import { useState } from "react"; +import AddIcon from "zy-react-library/components/Icon/AddIcon"; +import DeleteIcon from "zy-react-library/components/Icon/DeleteIcon"; +import Page from "zy-react-library/components/Page"; +import Search from "zy-react-library/components/Search"; +import Table from "zy-react-library/components/Table"; +import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery"; +import useTable from "zy-react-library/hooks/useTable"; +import { NS_MATERIAL_EQUIPMENT } from "~/enumerate/namespace"; + +function List(props) { + const [selectedRowKeys, setSelectedRowKeys] = useState([]); + + const query = useGetUrlQuery(); + const [form] = Search.useForm(); + + const { tableProps, getData } = useTable(props["materialList"], { + form, + params: { materialEquipmentId: query.id }, + }); + + const onDelete = (record) => { + Modal.confirm({ + title: "删除确认", + content: `确定要删除【${record.todo}】吗`, + onOk: async () => { + const { success } = await props["materialDelete"]({ id: record.id, materialEquipmentId: query.id }); + if (success) { + message.success("删除成功"); + getData(); + } + }, + }); + }; + + const onDeleteBatch = () => { + if (selectedRowKeys.length === 0) { + message.warning("请选择要删除的记录"); + return; + } + Modal.confirm({ + title: "删除确认", + content: "确认要删除吗?", + onOk: async () => { + const { success } = await props["materialDeleteBatch"]({ ids: selectedRowKeys, materialEquipmentId: query.id }); + if (success) { + message.success("删除成功"); + getData(); + } + }, + }); + }; + + return ( + + +
{ + setSelectedRowKeys(selectedRowKeys); + }, + }} + toolBarRender={() => ( + + + + + )} + columns={[ + { title: "物资名称", dataIndex: "todo" }, + { title: "物资类别", dataIndex: "todo" }, + { title: "负责保管人", dataIndex: "todo" }, + { title: "负责保管人固定电话", dataIndex: "todo" }, + { title: "负责保管人移动电话", dataIndex: "todo" }, + { title: "修改时间", dataIndex: "todo" }, + { + title: "操作", + width: 150, + fixed: "right", + render: (_, record) => ( + + + + + + ), + }, + ]} + {...tableProps} + /> + + ); +} + +export default Connect([NS_MATERIAL_EQUIPMENT], true)(List); diff --git a/src/pages/Container/Enterprise/EmergencyResource/MaterialEquipment/Material/View/index.js b/src/pages/Container/Enterprise/EmergencyResource/MaterialEquipment/Material/View/index.js new file mode 100644 index 0000000..a577da7 --- /dev/null +++ b/src/pages/Container/Enterprise/EmergencyResource/MaterialEquipment/Material/View/index.js @@ -0,0 +1,46 @@ +import { Connect } from "@cqsjjb/jjb-dva-runtime"; +import { Descriptions, Spin } from "antd"; +import { useEffect, useState } from "react"; +import Page from "zy-react-library/components/Page"; +import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery"; +import { NS_MATERIAL_EQUIPMENT } from "~/enumerate/namespace"; + +function View(props) { + const query = useGetUrlQuery(); + + const [info, setInfo] = useState({}); + + const getData = async () => { + const { data } = await props["materialInfo"]({ id: query.id }); + setInfo(data); + }; + + useEffect(() => { + getData(); + }, []); + + return ( + + + + + + ); +} + +export default Connect([NS_MATERIAL_EQUIPMENT], true)(View); diff --git a/src/pages/Container/Enterprise/EmergencyResource/MaterialEquipment/Material/index.js b/src/pages/Container/Enterprise/EmergencyResource/MaterialEquipment/Material/index.js new file mode 100644 index 0000000..702a26b --- /dev/null +++ b/src/pages/Container/Enterprise/EmergencyResource/MaterialEquipment/Material/index.js @@ -0,0 +1,5 @@ +function Material(props) { + return props.children; +} + +export default Material; diff --git a/src/pages/Container/Enterprise/EmergencyResource/MaterialEquipment/RescueEquipment/Add/index.js b/src/pages/Container/Enterprise/EmergencyResource/MaterialEquipment/RescueEquipment/Add/index.js new file mode 100644 index 0000000..317d9cc --- /dev/null +++ b/src/pages/Container/Enterprise/EmergencyResource/MaterialEquipment/RescueEquipment/Add/index.js @@ -0,0 +1,82 @@ +import { Connect } from "@cqsjjb/jjb-dva-runtime"; +import { message } from "antd"; +import { useEffect, useState } from "react"; +import FormBuilder from "zy-react-library/components/FormBuilder"; +import Map from "zy-react-library/components/Map"; +import Page from "zy-react-library/components/Page"; +import DictionarySelect from "zy-react-library/components/Select/Dictionary"; +import { FORM_ITEM_RENDER_ENUM } from "zy-react-library/enum/formItemRender"; +import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery"; +import { PHONE, TEL_PHONE } from "zy-react-library/regular"; +import { NS_GLOBAL, NS_MATERIAL_EQUIPMENT } from "~/enumerate/namespace"; + +function Add(props) { + const query = useGetUrlQuery(); + const [form] = FormBuilder.useForm(); + + const [corpInfoList, setCorpInfoList] = useState([]); + + const getData = async () => { + if (!query.id) + return; + + const { data } = await props["facilitiesEquipmentInfo"]({ id: query.id }); + form.setFieldsValue(data); + }; + + const getCorpInfoList = async () => { + const { data } = await props["corpInfoListAll"]({ enterpriseType: 2 }); + setCorpInfoList(data); + }; + + useEffect(() => { + getData(); + getCorpInfoList(); + }, []); + + const onSubmit = async (values) => { + const { success } = await props[query.id ? "rescueEquipmentUpdate" : "rescueEquipmentAdd"]({ + ...values, + id: query.id, + materialEquipmentId: query.materialEquipmentId, + }); + if (success) { + message.success(query.id ? "编辑成功" : "新增成功"); + props.history.goBack(); + } + }; + + return ( + + ) }, + { key: "map", customizeRender: true, span: 24, render: () }, + { name: "todo", label: "负责保管人" }, + { name: "todo", label: "保管人固定电话", rules: [{ pattern: TEL_PHONE, message: "请输入正确的电话号码" }] }, + { + name: "todo", + label: "保管人移动电话", + required: false, + rules: [{ pattern: PHONE, message: "请输入正确的电话号码" }], + }, + { name: "todo", label: "企业名称", required: false }, + { + name: "todo", + label: "所属单位", + render: FORM_ITEM_RENDER_ENUM.SELECT, + items: corpInfoList, + itemsField: { labelKey: "corpName", valueKey: "id" }, + required: false, + }, + ]} + form={form} + onFinish={onSubmit} + /> + + ); +} + +export default Connect([NS_MATERIAL_EQUIPMENT, NS_GLOBAL], true)(Add); diff --git a/src/pages/Container/Enterprise/EmergencyResource/MaterialEquipment/RescueEquipment/List/index.js b/src/pages/Container/Enterprise/EmergencyResource/MaterialEquipment/RescueEquipment/List/index.js new file mode 100644 index 0000000..94e8874 --- /dev/null +++ b/src/pages/Container/Enterprise/EmergencyResource/MaterialEquipment/RescueEquipment/List/index.js @@ -0,0 +1,146 @@ +import { Connect } from "@cqsjjb/jjb-dva-runtime"; +import { Button, message, Modal, Space } from "antd"; +import { useState } from "react"; +import AddIcon from "zy-react-library/components/Icon/AddIcon"; +import DeleteIcon from "zy-react-library/components/Icon/DeleteIcon"; +import Page from "zy-react-library/components/Page"; +import Search from "zy-react-library/components/Search"; +import Table from "zy-react-library/components/Table"; +import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery"; +import useTable from "zy-react-library/hooks/useTable"; +import { NS_MATERIAL_EQUIPMENT } from "~/enumerate/namespace"; + +function List(props) { + const [selectedRowKeys, setSelectedRowKeys] = useState([]); + + const query = useGetUrlQuery(); + const [form] = Search.useForm(); + + const { tableProps, getData } = useTable(props["rescueEquipmentList"], { + form, + params: { materialEquipmentId: query.id }, + }); + + const onDelete = (record) => { + Modal.confirm({ + title: "删除确认", + content: `确定要删除【${record.todo}】吗`, + onOk: async () => { + const { success } = await props["rescueEquipmentDelete"]({ id: record.id, materialEquipmentId: query.id }); + if (success) { + message.success("删除成功"); + getData(); + } + }, + }); + }; + + const onDeleteBatch = () => { + if (selectedRowKeys.length === 0) { + message.warning("请选择要删除的记录"); + return; + } + Modal.confirm({ + title: "删除确认", + content: "确认要删除吗?", + onOk: async () => { + const { success } = await props["rescueEquipmentDeleteBatch"]({ + ids: selectedRowKeys, + materialEquipmentId: query.id, + }); + if (success) { + message.success("删除成功"); + getData(); + } + }, + }); + }; + + return ( + + +
{ + setSelectedRowKeys(selectedRowKeys); + }, + }} + toolBarRender={() => ( + + + + + )} + columns={[ + { title: "装备名称", dataIndex: "todo" }, + { title: "装备类别", dataIndex: "todo" }, + { title: "负责保管人", dataIndex: "todo" }, + { title: "负责保管人固定电话", dataIndex: "todo" }, + { title: "负责保管人移动电话", dataIndex: "todo" }, + { title: "修改时间", dataIndex: "todo" }, + { + title: "操作", + width: 150, + fixed: "right", + render: (_, record) => ( + + + + + + ), + }, + ]} + {...tableProps} + /> + + ); +} + +export default Connect([NS_MATERIAL_EQUIPMENT], true)(List); diff --git a/src/pages/Container/Enterprise/EmergencyResource/MaterialEquipment/RescueEquipment/View/index.js b/src/pages/Container/Enterprise/EmergencyResource/MaterialEquipment/RescueEquipment/View/index.js new file mode 100644 index 0000000..c81db1f --- /dev/null +++ b/src/pages/Container/Enterprise/EmergencyResource/MaterialEquipment/RescueEquipment/View/index.js @@ -0,0 +1,46 @@ +import { Connect } from "@cqsjjb/jjb-dva-runtime"; +import { Descriptions, Spin } from "antd"; +import { useEffect, useState } from "react"; +import Page from "zy-react-library/components/Page"; +import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery"; +import { NS_MATERIAL_EQUIPMENT } from "~/enumerate/namespace"; + +function View(props) { + const query = useGetUrlQuery(); + + const [info, setInfo] = useState({}); + + const getData = async () => { + const { data } = await props["rescueEquipmentInfo"]({ id: query.id }); + setInfo(data); + }; + + useEffect(() => { + getData(); + }, []); + + return ( + + + + + + ); +} + +export default Connect([NS_MATERIAL_EQUIPMENT], true)(View); diff --git a/src/pages/Container/Enterprise/EmergencyResource/MaterialEquipment/RescueEquipment/index.js b/src/pages/Container/Enterprise/EmergencyResource/MaterialEquipment/RescueEquipment/index.js new file mode 100644 index 0000000..78c7cbe --- /dev/null +++ b/src/pages/Container/Enterprise/EmergencyResource/MaterialEquipment/RescueEquipment/index.js @@ -0,0 +1,5 @@ +function RescueEquipment(props) { + return props.children; +} + +export default RescueEquipment; diff --git a/src/pages/Container/Enterprise/EmergencyResource/MaterialEquipment/View/index.js b/src/pages/Container/Enterprise/EmergencyResource/MaterialEquipment/View/index.js new file mode 100644 index 0000000..e9ac880 --- /dev/null +++ b/src/pages/Container/Enterprise/EmergencyResource/MaterialEquipment/View/index.js @@ -0,0 +1,47 @@ +import { Connect } from "@cqsjjb/jjb-dva-runtime"; +import { Descriptions, Spin } from "antd"; +import { useEffect, useState } from "react"; +import Page from "zy-react-library/components/Page"; +import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery"; +import { NS_MATERIAL_EQUIPMENT } from "~/enumerate/namespace"; + +function View(props) { + const query = useGetUrlQuery(); + + const [info, setInfo] = useState({}); + + const getData = async () => { + const { data } = await props["materialEquipmentInfo"]({ id: query.id }); + setInfo(data); + }; + + useEffect(() => { + getData(); + }, []); + + return ( + + + + + + ); +} + +export default Connect([NS_MATERIAL_EQUIPMENT], true)(View); diff --git a/src/pages/Container/Enterprise/EmergencyResource/MaterialEquipment/index.js b/src/pages/Container/Enterprise/EmergencyResource/MaterialEquipment/index.js new file mode 100644 index 0000000..4912f4a --- /dev/null +++ b/src/pages/Container/Enterprise/EmergencyResource/MaterialEquipment/index.js @@ -0,0 +1,5 @@ +function MaterialEquipment(props) { + return props.children; +} + +export default MaterialEquipment; diff --git a/src/pages/Container/Enterprise/EmergencyResource/index.js b/src/pages/Container/Enterprise/EmergencyResource/index.js new file mode 100644 index 0000000..77868ae --- /dev/null +++ b/src/pages/Container/Enterprise/EmergencyResource/index.js @@ -0,0 +1,5 @@ +function EmergencyResource(props) { + return props.children; +} + +export default EmergencyResource; diff --git a/src/pages/Container/Enterprise/index.js b/src/pages/Container/Enterprise/index.js new file mode 100644 index 0000000..c7a390b --- /dev/null +++ b/src/pages/Container/Enterprise/index.js @@ -0,0 +1,5 @@ +function Enterprise(props) { + return props.children; +} + +export default Enterprise; diff --git a/src/pages/Container/Entry/index.js b/src/pages/Container/Entry/index.js new file mode 100644 index 0000000..c51ecfd --- /dev/null +++ b/src/pages/Container/Entry/index.js @@ -0,0 +1,31 @@ +import { ImportCore } from "@cqsjjb/jjb-common-decorator/module"; +import React from "react"; + +export default class Entry extends React.Component { + state = { + Component: undefined, + }; + + componentDidMount() { + if (process.env.app.appKey) { + ImportCore({ + name: "$", + from: "https://cdn.cqjjb.cn/jcloud/use/plugin/b31c9840a57f11ef91cf7f3cabbb7484/latest", + }).then((res) => { + if (res.status) { + this.setState({ Component: res.module?.default }); + } + }); + } + } + + render() { + const { Component } = this.state; + return (Component && process.env.app.appKey) && ( + + ); + } +} diff --git a/src/pages/Container/Supervision/EmergencyOrganization/EmergencyAddressBook/List/index.js b/src/pages/Container/Supervision/EmergencyOrganization/EmergencyAddressBook/List/index.js new file mode 100644 index 0000000..e4db65a --- /dev/null +++ b/src/pages/Container/Supervision/EmergencyOrganization/EmergencyAddressBook/List/index.js @@ -0,0 +1,43 @@ +import { Connect } from "@cqsjjb/jjb-dva-runtime"; +import { Button } from "antd"; +import Page from "zy-react-library/components/Page"; +import Search from "zy-react-library/components/Search"; +import Table from "zy-react-library/components/Table"; +import useTable from "zy-react-library/hooks/useTable"; +import { NS_STATISTICS } from "~/enumerate/namespace"; + +function List(props) { + const [form] = Search.useForm(); + + const { tableProps, getData } = useTable(props["emergencyAddressBookStatisticsList"], { + form, + }); + + return ( + + +
, + }, + ]} + {...tableProps} + /> + + ); +} + +export default Connect([NS_STATISTICS], true)(List); diff --git a/src/pages/Container/Supervision/EmergencyOrganization/EmergencyAddressBook/index.js b/src/pages/Container/Supervision/EmergencyOrganization/EmergencyAddressBook/index.js new file mode 100644 index 0000000..205571b --- /dev/null +++ b/src/pages/Container/Supervision/EmergencyOrganization/EmergencyAddressBook/index.js @@ -0,0 +1,5 @@ +function EmergencyAddressBook(props) { + return props.children; +} + +export default EmergencyAddressBook; diff --git a/src/pages/Container/Supervision/EmergencyOrganization/EmergencyExpertTeam/List/index.js b/src/pages/Container/Supervision/EmergencyOrganization/EmergencyExpertTeam/List/index.js new file mode 100644 index 0000000..b50a9d3 --- /dev/null +++ b/src/pages/Container/Supervision/EmergencyOrganization/EmergencyExpertTeam/List/index.js @@ -0,0 +1,50 @@ +import { Connect } from "@cqsjjb/jjb-dva-runtime"; +import { Button } from "antd"; +import Page from "zy-react-library/components/Page"; +import Search from "zy-react-library/components/Search"; +import Table from "zy-react-library/components/Table"; +import useTable from "zy-react-library/hooks/useTable"; +import { NS_STATISTICS } from "~/enumerate/namespace"; + +function List(props) { + const [form] = Search.useForm(); + + const { tableProps, getData } = useTable(props["emergencyExpertTeamStatisticsList"], { + form, + }); + + return ( + + +
, + }, + { + title: "应急救援专家数", + dataIndex: "todo", + render: (_, record) => , + }, + { + title: "应急救援专家组数", + dataIndex: "todo", + render: (_, record) => , + }, + ]} + {...tableProps} + /> + + ); +} + +export default Connect([NS_STATISTICS], true)(List); diff --git a/src/pages/Container/Supervision/EmergencyOrganization/EmergencyExpertTeam/index.js b/src/pages/Container/Supervision/EmergencyOrganization/EmergencyExpertTeam/index.js new file mode 100644 index 0000000..35ad72a --- /dev/null +++ b/src/pages/Container/Supervision/EmergencyOrganization/EmergencyExpertTeam/index.js @@ -0,0 +1,5 @@ +function EmergencyExpertTeam(props) { + return props.children; +} + +export default EmergencyExpertTeam; diff --git a/src/pages/Container/Supervision/EmergencyOrganization/EmergencyOrganization/List/index.js b/src/pages/Container/Supervision/EmergencyOrganization/EmergencyOrganization/List/index.js new file mode 100644 index 0000000..6f772cf --- /dev/null +++ b/src/pages/Container/Supervision/EmergencyOrganization/EmergencyOrganization/List/index.js @@ -0,0 +1,45 @@ +import { Connect } from "@cqsjjb/jjb-dva-runtime"; +import { Button } from "antd"; +import Page from "zy-react-library/components/Page"; +import Search from "zy-react-library/components/Search"; +import Table from "zy-react-library/components/Table"; +import useTable from "zy-react-library/hooks/useTable"; +import { NS_STATISTICS } from "~/enumerate/namespace"; + +function List(props) { + const [form] = Search.useForm(); + + const { tableProps, getData } = useTable(props["emergencyOrganizationStatisticsList"], { + form, + }); + + return ( + + +
, + }, + { + title: "应急救援人数", + dataIndex: "todo", + render: (_, record) => , + }, + ]} + {...tableProps} + /> + + ); +} + +export default Connect([NS_STATISTICS], true)(List); diff --git a/src/pages/Container/Supervision/EmergencyOrganization/EmergencyOrganization/index.js b/src/pages/Container/Supervision/EmergencyOrganization/EmergencyOrganization/index.js new file mode 100644 index 0000000..d170dc4 --- /dev/null +++ b/src/pages/Container/Supervision/EmergencyOrganization/EmergencyOrganization/index.js @@ -0,0 +1,5 @@ +function EmergencyOrganization(props) { + return props.children; +} + +export default EmergencyOrganization; diff --git a/src/pages/Container/Supervision/EmergencyOrganization/EmergencyRescueTeam/List/index.js b/src/pages/Container/Supervision/EmergencyOrganization/EmergencyRescueTeam/List/index.js new file mode 100644 index 0000000..cb222ea --- /dev/null +++ b/src/pages/Container/Supervision/EmergencyOrganization/EmergencyRescueTeam/List/index.js @@ -0,0 +1,40 @@ +import { Connect } from "@cqsjjb/jjb-dva-runtime"; +import { Button } from "antd"; +import Page from "zy-react-library/components/Page"; +import Search from "zy-react-library/components/Search"; +import Table from "zy-react-library/components/Table"; +import useTable from "zy-react-library/hooks/useTable"; +import { NS_STATISTICS } from "~/enumerate/namespace"; + +function List(props) { + const [form] = Search.useForm(); + + const { tableProps, getData } = useTable(props["emergencyRescueTeamStatisticsList"], { + form, + }); + + return ( + + +
, + }, + ]} + {...tableProps} + /> + + ); +} + +export default Connect([NS_STATISTICS], true)(List); diff --git a/src/pages/Container/Supervision/EmergencyOrganization/EmergencyRescueTeam/index.js b/src/pages/Container/Supervision/EmergencyOrganization/EmergencyRescueTeam/index.js new file mode 100644 index 0000000..afb0498 --- /dev/null +++ b/src/pages/Container/Supervision/EmergencyOrganization/EmergencyRescueTeam/index.js @@ -0,0 +1,5 @@ +function EmergencyRescueTeam(props) { + return props.children; +} + +export default EmergencyRescueTeam; diff --git a/src/pages/Container/Supervision/EmergencyOrganization/ProfessionalGuaranteeOrganization/List/index.js b/src/pages/Container/Supervision/EmergencyOrganization/ProfessionalGuaranteeOrganization/List/index.js new file mode 100644 index 0000000..137a81c --- /dev/null +++ b/src/pages/Container/Supervision/EmergencyOrganization/ProfessionalGuaranteeOrganization/List/index.js @@ -0,0 +1,55 @@ +import { Connect } from "@cqsjjb/jjb-dva-runtime"; +import { Button } from "antd"; +import Page from "zy-react-library/components/Page"; +import Search from "zy-react-library/components/Search"; +import Table from "zy-react-library/components/Table"; +import useTable from "zy-react-library/hooks/useTable"; +import { NS_STATISTICS } from "~/enumerate/namespace"; + +function List(props) { + const [form] = Search.useForm(); + + const { tableProps, getData } = useTable(props["professionalGuaranteeOrganizationStatisticsList"], { + form, + }); + + return ( + + +
, + }, + { + title: "医疗保障机构", + dataIndex: "todo", + render: (_, record) => , + }, + { + title: "通讯保障机构", + dataIndex: "todo", + render: (_, record) => , + }, + { + title: "技术支持机构", + dataIndex: "todo", + render: (_, record) => , + }, + ]} + {...tableProps} + /> + + ); +} + +export default Connect([NS_STATISTICS], true)(List); diff --git a/src/pages/Container/Supervision/EmergencyOrganization/ProfessionalGuaranteeOrganization/index.js b/src/pages/Container/Supervision/EmergencyOrganization/ProfessionalGuaranteeOrganization/index.js new file mode 100644 index 0000000..ee82816 --- /dev/null +++ b/src/pages/Container/Supervision/EmergencyOrganization/ProfessionalGuaranteeOrganization/index.js @@ -0,0 +1,5 @@ +function ProfessionalGuaranteeOrganization(props) { + return props.children; +} + +export default ProfessionalGuaranteeOrganization; diff --git a/src/pages/Container/Supervision/EmergencyOrganization/index.js b/src/pages/Container/Supervision/EmergencyOrganization/index.js new file mode 100644 index 0000000..d170dc4 --- /dev/null +++ b/src/pages/Container/Supervision/EmergencyOrganization/index.js @@ -0,0 +1,5 @@ +function EmergencyOrganization(props) { + return props.children; +} + +export default EmergencyOrganization; diff --git a/src/pages/Container/Supervision/EmergencyRescue/EmergencyEvent/EventReport/List/index.js b/src/pages/Container/Supervision/EmergencyRescue/EmergencyEvent/EventReport/List/index.js new file mode 100644 index 0000000..719f94b --- /dev/null +++ b/src/pages/Container/Supervision/EmergencyRescue/EmergencyEvent/EventReport/List/index.js @@ -0,0 +1,44 @@ +import { Connect } from "@cqsjjb/jjb-dva-runtime"; +import { Button } from "antd"; +import Page from "zy-react-library/components/Page"; +import Search from "zy-react-library/components/Search"; +import Table from "zy-react-library/components/Table"; +import useTable from "zy-react-library/hooks/useTable"; +import { NS_STATISTICS } from "~/enumerate/namespace"; + +function List(props) { + const [form] = Search.useForm(); + + const { tableProps, getData } = useTable(props["eventReportStatisticsList"], { + form, + }); + + return ( + + +
, + }, + ]} + {...tableProps} + /> + + ); +} + +export default Connect([NS_STATISTICS], true)(List); diff --git a/src/pages/Container/Supervision/EmergencyRescue/EmergencyEvent/EventReport/index.js b/src/pages/Container/Supervision/EmergencyRescue/EmergencyEvent/EventReport/index.js new file mode 100644 index 0000000..c450e7d --- /dev/null +++ b/src/pages/Container/Supervision/EmergencyRescue/EmergencyEvent/EventReport/index.js @@ -0,0 +1,5 @@ +function EventReport(props) { + return props.children; +} + +export default EventReport; diff --git a/src/pages/Container/Supervision/EmergencyRescue/EmergencyEvent/index.js b/src/pages/Container/Supervision/EmergencyRescue/EmergencyEvent/index.js new file mode 100644 index 0000000..1f83357 --- /dev/null +++ b/src/pages/Container/Supervision/EmergencyRescue/EmergencyEvent/index.js @@ -0,0 +1,5 @@ +function EmergencyEvent(props) { + return props.children; +} + +export default EmergencyEvent; diff --git a/src/pages/Container/Supervision/EmergencyRescue/EmergencyKnowledgeLibrary/EmergencyKnowledge/EmergencyKnowledgeLibrary/List/index.js b/src/pages/Container/Supervision/EmergencyRescue/EmergencyKnowledgeLibrary/EmergencyKnowledge/EmergencyKnowledgeLibrary/List/index.js new file mode 100644 index 0000000..136ede3 --- /dev/null +++ b/src/pages/Container/Supervision/EmergencyRescue/EmergencyKnowledgeLibrary/EmergencyKnowledge/EmergencyKnowledgeLibrary/List/index.js @@ -0,0 +1,55 @@ +import { Connect } from "@cqsjjb/jjb-dva-runtime"; +import { Button } from "antd"; +import Page from "zy-react-library/components/Page"; +import Search from "zy-react-library/components/Search"; +import Table from "zy-react-library/components/Table"; +import useTable from "zy-react-library/hooks/useTable"; +import { NS_STATISTICS } from "~/enumerate/namespace"; + +function List(props) { + const [form] = Search.useForm(); + + const { tableProps, getData } = useTable(props["emergencyKnowledgeLibraryStatisticsList"], { + form, + }); + + return ( + + +
, + }, + { + title: "危险货物品数", + dataIndex: "todo", + render: (_, record) => , + }, + { + title: "危化品数", + dataIndex: "todo", + render: (_, record) => , + }, + { + title: "生产工艺数", + dataIndex: "todo", + render: (_, record) => , + }, + ]} + {...tableProps} + /> + + ); +} + +export default Connect([NS_STATISTICS], true)(List); diff --git a/src/pages/Container/Supervision/EmergencyRescue/EmergencyKnowledgeLibrary/EmergencyKnowledge/EmergencyKnowledgeLibrary/index.js b/src/pages/Container/Supervision/EmergencyRescue/EmergencyKnowledgeLibrary/EmergencyKnowledge/EmergencyKnowledgeLibrary/index.js new file mode 100644 index 0000000..4b912b1 --- /dev/null +++ b/src/pages/Container/Supervision/EmergencyRescue/EmergencyKnowledgeLibrary/EmergencyKnowledge/EmergencyKnowledgeLibrary/index.js @@ -0,0 +1,5 @@ +function EmergencyKnowledgeLibrary(props) { + return props.children; +} + +export default EmergencyKnowledgeLibrary; diff --git a/src/pages/Container/Supervision/EmergencyRescue/EmergencyKnowledgeLibrary/EmergencyKnowledge/index.js b/src/pages/Container/Supervision/EmergencyRescue/EmergencyKnowledgeLibrary/EmergencyKnowledge/index.js new file mode 100644 index 0000000..04db0d9 --- /dev/null +++ b/src/pages/Container/Supervision/EmergencyRescue/EmergencyKnowledgeLibrary/EmergencyKnowledge/index.js @@ -0,0 +1,5 @@ +function EmergencyKnowledge(props) { + return props.children; +} + +export default EmergencyKnowledge; diff --git a/src/pages/Container/Supervision/EmergencyRescue/EmergencyKnowledgeLibrary/index.js b/src/pages/Container/Supervision/EmergencyRescue/EmergencyKnowledgeLibrary/index.js new file mode 100644 index 0000000..4b912b1 --- /dev/null +++ b/src/pages/Container/Supervision/EmergencyRescue/EmergencyKnowledgeLibrary/index.js @@ -0,0 +1,5 @@ +function EmergencyKnowledgeLibrary(props) { + return props.children; +} + +export default EmergencyKnowledgeLibrary; diff --git a/src/pages/Container/Supervision/EmergencyRescue/EnterpriseDuty/DutyLogAndSchedulingRegistration/List/index.js b/src/pages/Container/Supervision/EmergencyRescue/EnterpriseDuty/DutyLogAndSchedulingRegistration/List/index.js new file mode 100644 index 0000000..d62a29f --- /dev/null +++ b/src/pages/Container/Supervision/EmergencyRescue/EnterpriseDuty/DutyLogAndSchedulingRegistration/List/index.js @@ -0,0 +1,44 @@ +import { Connect } from "@cqsjjb/jjb-dva-runtime"; +import { Button, Space } from "antd"; +import Page from "zy-react-library/components/Page"; +import Search from "zy-react-library/components/Search"; +import Table from "zy-react-library/components/Table"; +import useTable from "zy-react-library/hooks/useTable"; +import { NS_STATISTICS } from "~/enumerate/namespace"; + +function List(props) { + const [form] = Search.useForm(); + + const { tableProps, getData } = useTable(props["dutyLogAndSchedulingRegistrationStatisticsList"], { + form, + }); + + return ( + + +
( + + + + + ), + }, + ]} + {...tableProps} + /> + + ); +} + +export default Connect([NS_STATISTICS], true)(List); diff --git a/src/pages/Container/Supervision/EmergencyRescue/EnterpriseDuty/DutyLogAndSchedulingRegistration/index.js b/src/pages/Container/Supervision/EmergencyRescue/EnterpriseDuty/DutyLogAndSchedulingRegistration/index.js new file mode 100644 index 0000000..b185062 --- /dev/null +++ b/src/pages/Container/Supervision/EmergencyRescue/EnterpriseDuty/DutyLogAndSchedulingRegistration/index.js @@ -0,0 +1,5 @@ +function DutyLogAndSchedulingRegistration(props) { + return props.children; +} + +export default DutyLogAndSchedulingRegistration; diff --git a/src/pages/Container/Supervision/EmergencyRescue/EnterpriseDuty/index.js b/src/pages/Container/Supervision/EmergencyRescue/EnterpriseDuty/index.js new file mode 100644 index 0000000..2fbe346 --- /dev/null +++ b/src/pages/Container/Supervision/EmergencyRescue/EnterpriseDuty/index.js @@ -0,0 +1,5 @@ +function EnterpriseDuty(props) { + return props.children; +} + +export default EnterpriseDuty; diff --git a/src/pages/Container/Supervision/EmergencyRescue/Rescue/List/index.js b/src/pages/Container/Supervision/EmergencyRescue/Rescue/List/index.js new file mode 100644 index 0000000..b736d34 --- /dev/null +++ b/src/pages/Container/Supervision/EmergencyRescue/Rescue/List/index.js @@ -0,0 +1,40 @@ +import { Connect } from "@cqsjjb/jjb-dva-runtime"; +import { Button } from "antd"; +import Page from "zy-react-library/components/Page"; +import Search from "zy-react-library/components/Search"; +import Table from "zy-react-library/components/Table"; +import useTable from "zy-react-library/hooks/useTable"; +import { NS_STATISTICS } from "~/enumerate/namespace"; + +function List(props) { + const [form] = Search.useForm(); + + const { tableProps, getData } = useTable(props["rescueStatisticsList"], { + form, + }); + + return ( + + +
, + }, + ]} + {...tableProps} + /> + + ); +} + +export default Connect([NS_STATISTICS], true)(List); diff --git a/src/pages/Container/Supervision/EmergencyRescue/Rescue/index.js b/src/pages/Container/Supervision/EmergencyRescue/Rescue/index.js new file mode 100644 index 0000000..b0b175e --- /dev/null +++ b/src/pages/Container/Supervision/EmergencyRescue/Rescue/index.js @@ -0,0 +1,5 @@ +function Rescue(props) { + return props.children; +} + +export default Rescue; diff --git a/src/pages/Container/Supervision/EmergencyRescue/index.js b/src/pages/Container/Supervision/EmergencyRescue/index.js new file mode 100644 index 0000000..9e94ab9 --- /dev/null +++ b/src/pages/Container/Supervision/EmergencyRescue/index.js @@ -0,0 +1,5 @@ +function EmergencyRescue(props) { + return props.children; +} + +export default EmergencyRescue; diff --git a/src/pages/Container/Supervision/EmergencyResource/EmergencyResource/List/index.js b/src/pages/Container/Supervision/EmergencyResource/EmergencyResource/List/index.js new file mode 100644 index 0000000..3c5caa2 --- /dev/null +++ b/src/pages/Container/Supervision/EmergencyResource/EmergencyResource/List/index.js @@ -0,0 +1,65 @@ +import { Connect } from "@cqsjjb/jjb-dva-runtime"; +import { Button } from "antd"; +import Page from "zy-react-library/components/Page"; +import Search from "zy-react-library/components/Search"; +import Table from "zy-react-library/components/Table"; +import useTable from "zy-react-library/hooks/useTable"; +import { NS_STATISTICS } from "~/enumerate/namespace"; + +function List(props) { + const [form] = Search.useForm(); + + const { tableProps, getData } = useTable(props["emergencyResourceStatisticsList"], { + form, + }); + + return ( + + +
, + }, + { + title: "物资装备库数", + dataIndex: "todo", + render: (_, record) => , + }, + { + title: "应急避难场所数", + dataIndex: "todo", + render: (_, record) => , + }, + { + title: "消防物资数", + dataIndex: "todo", + render: (_, record) => , + }, + { + title: "排水井数", + dataIndex: "todo", + render: (_, record) => , + }, + { + title: "封闭卡口数", + dataIndex: "todo", + render: (_, record) => , + }, + ]} + {...tableProps} + /> + + ); +} + +export default Connect([NS_STATISTICS], true)(List); diff --git a/src/pages/Container/Supervision/EmergencyResource/EmergencyResource/index.js b/src/pages/Container/Supervision/EmergencyResource/EmergencyResource/index.js new file mode 100644 index 0000000..77868ae --- /dev/null +++ b/src/pages/Container/Supervision/EmergencyResource/EmergencyResource/index.js @@ -0,0 +1,5 @@ +function EmergencyResource(props) { + return props.children; +} + +export default EmergencyResource; diff --git a/src/pages/Container/Supervision/EmergencyResource/index.js b/src/pages/Container/Supervision/EmergencyResource/index.js new file mode 100644 index 0000000..77868ae --- /dev/null +++ b/src/pages/Container/Supervision/EmergencyResource/index.js @@ -0,0 +1,5 @@ +function EmergencyResource(props) { + return props.children; +} + +export default EmergencyResource; diff --git a/src/pages/Container/Supervision/PlanAndDrill/EmergencyExercise/List/index.js b/src/pages/Container/Supervision/PlanAndDrill/EmergencyExercise/List/index.js new file mode 100644 index 0000000..a40995a --- /dev/null +++ b/src/pages/Container/Supervision/PlanAndDrill/EmergencyExercise/List/index.js @@ -0,0 +1,40 @@ +import { Connect } from "@cqsjjb/jjb-dva-runtime"; +import { Button } from "antd"; +import Page from "zy-react-library/components/Page"; +import Search from "zy-react-library/components/Search"; +import Table from "zy-react-library/components/Table"; +import useTable from "zy-react-library/hooks/useTable"; +import { NS_STATISTICS } from "~/enumerate/namespace"; + +function List(props) { + const [form] = Search.useForm(); + + const { tableProps, getData } = useTable(props["emergencyExerciseStatisticsList"], { + form, + }); + + return ( + + +
, + }, + ]} + {...tableProps} + /> + + ); +} + +export default Connect([NS_STATISTICS], true)(List); diff --git a/src/pages/Container/Supervision/PlanAndDrill/EmergencyExercise/index.js b/src/pages/Container/Supervision/PlanAndDrill/EmergencyExercise/index.js new file mode 100644 index 0000000..421265a --- /dev/null +++ b/src/pages/Container/Supervision/PlanAndDrill/EmergencyExercise/index.js @@ -0,0 +1,5 @@ +function EmergencyExercise(props) { + return props.children; +} + +export default EmergencyExercise; diff --git a/src/pages/Container/Supervision/PlanAndDrill/EmergencyPlan/List/index.js b/src/pages/Container/Supervision/PlanAndDrill/EmergencyPlan/List/index.js new file mode 100644 index 0000000..25c6b8c --- /dev/null +++ b/src/pages/Container/Supervision/PlanAndDrill/EmergencyPlan/List/index.js @@ -0,0 +1,40 @@ +import { Connect } from "@cqsjjb/jjb-dva-runtime"; +import { Button } from "antd"; +import Page from "zy-react-library/components/Page"; +import Search from "zy-react-library/components/Search"; +import Table from "zy-react-library/components/Table"; +import useTable from "zy-react-library/hooks/useTable"; +import { NS_STATISTICS } from "~/enumerate/namespace"; + +function List(props) { + const [form] = Search.useForm(); + + const { tableProps, getData } = useTable(props["emergencyPlanStatisticsList"], { + form, + }); + + return ( + + +
, + }, + ]} + {...tableProps} + /> + + ); +} + +export default Connect([NS_STATISTICS], true)(List); diff --git a/src/pages/Container/Supervision/PlanAndDrill/EmergencyPlan/index.js b/src/pages/Container/Supervision/PlanAndDrill/EmergencyPlan/index.js new file mode 100644 index 0000000..dd22dfb --- /dev/null +++ b/src/pages/Container/Supervision/PlanAndDrill/EmergencyPlan/index.js @@ -0,0 +1,5 @@ +function EmergencyPlan(props) { + return props.children; +} + +export default EmergencyPlan; diff --git a/src/pages/Container/Supervision/PlanAndDrill/EnterprisePlan/List/index.js b/src/pages/Container/Supervision/PlanAndDrill/EnterprisePlan/List/index.js new file mode 100644 index 0000000..8cc0d06 --- /dev/null +++ b/src/pages/Container/Supervision/PlanAndDrill/EnterprisePlan/List/index.js @@ -0,0 +1,40 @@ +import { Connect } from "@cqsjjb/jjb-dva-runtime"; +import { Button } from "antd"; +import Page from "zy-react-library/components/Page"; +import Search from "zy-react-library/components/Search"; +import Table from "zy-react-library/components/Table"; +import useTable from "zy-react-library/hooks/useTable"; +import { NS_STATISTICS } from "~/enumerate/namespace"; + +function List(props) { + const [form] = Search.useForm(); + + const { tableProps, getData } = useTable(props["enterprisePlanStatisticsList"], { + form, + }); + + return ( + + +
, + }, + ]} + {...tableProps} + /> + + ); +} + +export default Connect([NS_STATISTICS], true)(List); diff --git a/src/pages/Container/Supervision/PlanAndDrill/EnterprisePlan/index.js b/src/pages/Container/Supervision/PlanAndDrill/EnterprisePlan/index.js new file mode 100644 index 0000000..74089c8 --- /dev/null +++ b/src/pages/Container/Supervision/PlanAndDrill/EnterprisePlan/index.js @@ -0,0 +1,5 @@ +function EnterprisePlan(props) { + return props.children; +} + +export default EnterprisePlan; diff --git a/src/pages/Container/Supervision/PlanAndDrill/index.js b/src/pages/Container/Supervision/PlanAndDrill/index.js new file mode 100644 index 0000000..d3ba186 --- /dev/null +++ b/src/pages/Container/Supervision/PlanAndDrill/index.js @@ -0,0 +1,5 @@ +function PlanAndDrill(props) { + return props.children; +} + +export default PlanAndDrill; diff --git a/src/pages/Container/Supervision/index.js b/src/pages/Container/Supervision/index.js new file mode 100644 index 0000000..e8ad3c1 --- /dev/null +++ b/src/pages/Container/Supervision/index.js @@ -0,0 +1,5 @@ +function Supervision(props) { + return props.children; +} + +export default Supervision; diff --git a/src/pages/Container/index.js b/src/pages/Container/index.js new file mode 100644 index 0000000..c26d322 --- /dev/null +++ b/src/pages/Container/index.js @@ -0,0 +1,101 @@ +import { ImportCore } from "@cqsjjb/jjb-common-decorator/module"; +import { theme as antdTheme, App, ConfigProvider } from "antd"; +import language from "antd/locale/zh_CN"; +import React from "react"; + +import { InjectContext } from "~/enumerate/context"; + +export default class Container extends React.Component { + state = window?.base?.themeConfig || { + algorithm: window.process.env.app.antd.algorithm, + borderRadius: window.process.env.app.antd.borderRadius, + colorPrimary: window.process.env.app.antd.colorPrimary, + }; + + get token() { + const { + colorPrimary, + borderRadius, + } = this.state; + return { + fontFamily: window.process.env.app.antd.fontFamily, + colorPrimary, + borderRadius, + }; + } + + get algorithm() { + return antdTheme[this.state.algorithm]; + } + + componentDidMount() { + if (window.__IN_BASE__) { + // eslint-disable-next-line react-web-api/no-leaked-event-listener + window.base.addEventListener("EVENT_THEME_CONTROL", (e) => { + const config = e.data; + this.setState({ [config.field]: config.value }); + }); + } + } + + render() { + return ( + + + + + + ); + } +} + +function AppMiddle(props) { + return ( + + {process.env.NODE_ENV === "development" + ? props.children + : ( + + {props.children} + + )} + + ); +} + +class Interceptor extends React.Component { + state = { + Component: undefined, + }; + + componentDidMount() { + if (process.env.app.appKey) { + ImportCore({ + name: "$", + from: "https://cdn.cqjjb.cn/jcloud/use/plugin/b31c9840a57f11ef91cf7f3cabbb7484/latest", + }).then(async (res) => { + if (res.status) { + this.setState({ Component: res.module?.PageCover }); + } + }); + } + } + + render() { + const { Component } = this.state; + return (Component && process.env.app.appKey && process.env.NODE_ENV === "development") + ? ( + + {this.props.children} + + ) + : this.props.children; + } +} diff --git a/src/pages/index.js b/src/pages/index.js new file mode 100644 index 0000000..64c36bb --- /dev/null +++ b/src/pages/index.js @@ -0,0 +1,8 @@ +export default function () { + return ( +

+ 底座微应用模板,技术文档: + https://www.yuque.com/buhangjiecheshen-ymbtb/qc0093/gxdun1dphetcurko +

+ ); +} diff --git a/webstorm.config.js b/webstorm.config.js new file mode 100644 index 0000000..ca262cd --- /dev/null +++ b/webstorm.config.js @@ -0,0 +1,16 @@ +"use strict"; +const path = require("node:path"); + +function resolve(dir) { + return path.join(__dirname, ".", dir); +} + +module.exports = { + context: path.resolve(__dirname, "./"), + resolve: { + extensions: [".js"], + alias: { + "~": resolve("src/"), + }, + }, +};