From 8f948548373c779fdc07cf5a3d2dfd68415cd2d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BA=84=E9=94=90=E6=B3=A2?= <10549902+zhuangruibo@user.noreply.gitee.com> Date: Fri, 17 Apr 2026 23:34:05 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E9=87=8D=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../config/LocalFileResourceConfig.java | 42 ++ .../controller/ZdxtFileUtilController.java | 9 + .../AppEnterpriseInformationController.java | 6 +- .../app/enterprise/AppLoginController.java | 6 +- .../EnterpriseComplaintController.java | 2 +- .../EnterpriseEvaluateController.java | 2 +- .../EnterpriseLawEnforcementController.java | 2 +- ...rpriseMerchantAuthorizationController.java | 2 +- .../LawEnforcementEnterpriseController.java | 2 +- .../QrCodeGenerateHistoryController.java | 2 +- .../web/supervision/ZdxtFileController.java | 2 +- .../domain/EnterpriseInformation.java | 17 +- .../enforcementcode/helper/QrCodeHelper.java | 7 +- .../IEnterpriseInformationService.java | 2 +- .../EnterpriseInformationServiceImpl.java | 4 +- .../enforcementcode/LinkageDictMapper.xml | 6 + .../009-修改执法码相关的表.sql | 155 ++++ ...1001-修改用于测试的账号密码.sql | 15 + .../{src => fordelete}/api/Classify.js | 0 .../{src => fordelete}/api/Home.js | 0 .../{src => fordelete}/api/My.js | 0 .../{src => fordelete}/api/ShopCard.js | 0 .../{src => fordelete}/api/common.js | 0 .../api/enforcement}/administrative.js | 0 .../api/enforcement}/index.js | 0 .../fordelete/api/enterprise/index.js | 208 ++++++ .../{src => fordelete}/api/linkage.js | 0 .../{src => fordelete}/api/pdf.worker.min.mjs | 0 .../{src => fordelete}/api/pdf.worker.mjs | 0 .../{src => fordelete}/api/user.js | 0 .../components/carousel-card/index.vue | 0 .../footer-enforcement-nav/index.vue | 0 .../components/footer-nav/index.vue | 0 .../components/goods-card/index.vue | 0 .../components/header-nav/index.vue | 0 .../components/lodding-card/index.vue | 0 .../components/refresh-list/index.vue | 0 .../{src => fordelete}/router/address.js | 0 .../router/administrative.js | 0 .../{src => fordelete}/router/classify.js | 0 .../{src => fordelete}/router/enforce.js | 0 .../{src => fordelete}/router/enforceHome.js | 0 .../router/enterprise-app/ent-main-router.js | 29 + .../{src => fordelete}/router/home.js | 0 .../{src => fordelete}/router/my.js | 0 .../{src => fordelete}/router/non-law.js | 0 .../{src => fordelete}/store/Classify.js | 0 .../fordelete/store/Common.js | 123 ++++ .../{src => fordelete}/store/Home.js | 0 .../{src => fordelete}/store/My.js | 0 .../{src => fordelete}/store/ShopCard.js | 0 .../fordelete/{ => views}/404.vue | 0 .../fordelete/{ => views}/Classify.vue | 0 .../fordelete/{ => views}/Home.vue | 0 .../fordelete/{ => views}/HomeWx.vue | 0 .../fordelete/{ => views}/My.vue | 0 .../fordelete/{ => views}/Shop.vue | 0 .../administrative/appointment-bak.vue | 0 .../administrative/appointment.vue | 0 .../administrative/appointmentBase.vue | 0 .../administrative/appointmentDetail.vue | 0 .../administrative/appointmentEdit.vue | 0 .../administrative/appointmentList.vue | 0 .../administrative/appointmentRelaunch.vue | 0 .../{ => views}/administrative/deptFilter.vue | 0 .../{ => views}/administrative/userFilter.vue | 0 .../{ => views}/common/addressEdit.vue | 0 .../{ => views}/common/addressList.vue | 0 .../{ => views}/common/analyse-back.vue | 0 .../fordelete/{ => views}/common/analyse.vue | 0 .../{ => views}/common/analyseFilter.vue | 0 .../{ => views}/common/goodsDetail.vue | 0 .../{ => views}/common/pdfPngPreview.vue | 0 .../{ => views}/common/pdfPreview.vue | 0 .../fordelete/{ => views}/common/pdfvVew.vue | 0 .../fordelete/{ => views}/common/setting.vue | 0 .../{ => views}/enforce/assistUserFilter.vue | 0 .../enforce/comprehensiveAnalysis.vue | 0 .../{ => views}/enforce/earlyWarning.vue | 0 .../{ => views}/enforce/earlyWarningBak.vue | 0 .../{ => views}/enforce/enforceNotice.vue | 0 .../{ => views}/enforce/enforceNoticeBase.vue | 0 .../enforce/enforceNoticeDetai-bak2.vue | 0 .../enforce/enforceNoticeDetail-bak.vue | 0 .../enforce/enforceNoticeDetail.vue | 0 .../enforce/enforceNoticeSystem.vue | 0 .../{ => views}/enforce/enforcementPlan.vue | 0 .../enforce/enforcementPlanAdd.vue | 0 .../enforce/enforcementPlanBase.vue | 0 .../enforce/enforcementPlanDetailed.vue | 0 .../enforce/enterpriseBaseInfo.vue | 0 .../enforce/enterpriseScanPreview.vue | 0 .../enforce/enterpriseWarningInfo.vue | 0 .../enforce/enterpriseWarningInfoBak.vue | 0 .../{ => views}/enforce/evaluate.vue | 0 .../{ => views}/enforce/historyCheck.vue | 0 .../{ => views}/enforce/lawFilter.vue | 0 .../fordelete/{ => views}/enforce/login.vue | 0 .../fordelete/{ => views}/enforce/noScan.vue | 0 .../{ => views}/enforce/noScanFilter-bak.vue | 0 .../{ => views}/enforce/noScanFilter.vue | 0 .../{ => views}/enforce/outsideRegister.vue | 0 .../{ => views}/enforce/qrCodeLoading.vue | 0 .../{ => views}/enforce/scanPage.vue | 0 .../{ => views}/enforce/scanPage_szy.vue | 0 .../{ => views}/enforce/scanQrCode.vue | 0 .../enforce/selectEntrustFilter.vue | 0 .../fordelete/{ => views}/enforce/sign.vue | 0 .../{ => views}/enforce/userFilter.vue | 0 .../{ => views}/enforce/zqyjjdmFilter.vue | 0 .../fordelete/{ => views}/enforceHome.vue | 0 .../{ => views}/enterprise/caseFilter.vue | 0 .../enterprise/compaint/compaintBase.vue | 0 .../compaint/compaintDetailIndex.vue | 0 .../enterprise/compaint/compaintFlowView.vue | 0 .../compaint/registrationListView.vue | 0 .../enterprise/compaint/selectDeptFilter.vue | 0 .../enterprise/compaint/selectMssqFilter.vue | 0 .../enterprise/compaint/uniteDept.vue | 0 .../{ => views}/enterprise/companyFilter.vue | 0 .../{ => views}/enterprise/complaint.vue | 0 .../enterprise/complaintDetail.vue | 0 .../enterprise/complaintDetailView.vue | 0 .../enterprise/complaintEvaluate.vue | 0 .../{ => views}/enterprise/complaintItem.vue | 0 .../{ => views}/enterprise/complaintList.vue | 0 .../enterprise/complaintNoScan.vue | 0 .../enterpriseEvaluate/evaluate.vue | 0 .../{ => views}/enterprise/enterpriseHome.vue | 0 .../enterprise/enterpriseInformation.vue | 0 .../enterprise/enterpriseInspectionDetail.vue | 0 .../enterprise/enterpriseInspectionList.vue | 0 .../enterprise/enterpriseInspectionNotice.vue | 0 .../{ => views}/enterprise/login.vue | 0 .../{ => views}/enterprise/qrCode.vue | 0 .../{ => views}/enterprise/qrCodeHistory.vue | 0 .../enterprise/registrationDetail.vue | 0 .../enterprise/registrationEdit.vue | 0 .../enterprise/registrationList.vue | 0 .../enterprise/registrationSelectList.vue | 0 .../{ => views}/enterprise/systemNotice.vue | 0 .../enterprise/systemNoticeDetail.vue | 0 .../fordelete/{ => views}/login.vue | 0 .../fordelete/{ => views}/noAccess.vue | 0 .../non-law/enterpriseBaseInfo.vue | 0 .../non-law/enterpriseScanPreview.vue | 0 .../non-law/enterpriseWarningInfo.vue | 0 .../{ => views}/non-law/noScanFilter.vue | 0 .../{ => views}/non-law/nonSignDetail.vue | 0 .../{ => views}/non-law/outsideRegister.vue | 0 .../{ => views}/non-law/qrCodeLoading.vue | 0 .../{ => views}/non-law/scanQrCode.vue | 0 .../fordelete/{ => views}/non-law/sign.vue | 0 .../fordelete/{ => views}/notExist.vue | 0 .../fordelete/{ => views}/register.vue | 0 .../src/api/enterprise/index.js | 200 +----- .../src/components/enterprise/footerNav.vue | 58 ++ .../router/enterprise-app/ent-main-router.js | 8 +- .../src/store/Common.js | 15 +- .../src/views/enterprise/enterpriseHome.vue | 25 +- .../src/views/enterprise/login.vue | 59 +- .../src/views/enterprise/qrCode.vue | 12 +- .../src/views/enterprise/registrationList.vue | 667 ++++++++++++++++++ .../src/main/resources/application.yml | 30 + 164 files changed, 1459 insertions(+), 258 deletions(-) create mode 100644 ruoyi-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/config/LocalFileResourceConfig.java create mode 100644 ruoyi-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/LinkageDictMapper.xml create mode 100644 script/sql/zfjd-refactoring-v1/1001-修改用于测试的账号密码.sql rename zdxt-web-client/zdxt-enforcement-code-app/{src => fordelete}/api/Classify.js (100%) rename zdxt-web-client/zdxt-enforcement-code-app/{src => fordelete}/api/Home.js (100%) rename zdxt-web-client/zdxt-enforcement-code-app/{src => fordelete}/api/My.js (100%) rename zdxt-web-client/zdxt-enforcement-code-app/{src => fordelete}/api/ShopCard.js (100%) rename zdxt-web-client/zdxt-enforcement-code-app/{src => fordelete}/api/common.js (100%) rename zdxt-web-client/zdxt-enforcement-code-app/{src/api/enforce => fordelete/api/enforcement}/administrative.js (100%) rename zdxt-web-client/zdxt-enforcement-code-app/{src/api/enforce => fordelete/api/enforcement}/index.js (100%) create mode 100644 zdxt-web-client/zdxt-enforcement-code-app/fordelete/api/enterprise/index.js rename zdxt-web-client/zdxt-enforcement-code-app/{src => fordelete}/api/linkage.js (100%) rename zdxt-web-client/zdxt-enforcement-code-app/{src => fordelete}/api/pdf.worker.min.mjs (100%) rename zdxt-web-client/zdxt-enforcement-code-app/{src => fordelete}/api/pdf.worker.mjs (100%) rename zdxt-web-client/zdxt-enforcement-code-app/{src => fordelete}/api/user.js (100%) rename zdxt-web-client/zdxt-enforcement-code-app/{src => fordelete}/components/carousel-card/index.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/{src => fordelete}/components/footer-enforcement-nav/index.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/{src => fordelete}/components/footer-nav/index.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/{src => fordelete}/components/goods-card/index.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/{src => fordelete}/components/header-nav/index.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/{src => fordelete}/components/lodding-card/index.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/{src => fordelete}/components/refresh-list/index.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/{src => fordelete}/router/address.js (100%) rename zdxt-web-client/zdxt-enforcement-code-app/{src => fordelete}/router/administrative.js (100%) rename zdxt-web-client/zdxt-enforcement-code-app/{src => fordelete}/router/classify.js (100%) rename zdxt-web-client/zdxt-enforcement-code-app/{src => fordelete}/router/enforce.js (100%) rename zdxt-web-client/zdxt-enforcement-code-app/{src => fordelete}/router/enforceHome.js (100%) create mode 100644 zdxt-web-client/zdxt-enforcement-code-app/fordelete/router/enterprise-app/ent-main-router.js rename zdxt-web-client/zdxt-enforcement-code-app/{src => fordelete}/router/home.js (100%) rename zdxt-web-client/zdxt-enforcement-code-app/{src => fordelete}/router/my.js (100%) rename zdxt-web-client/zdxt-enforcement-code-app/{src => fordelete}/router/non-law.js (100%) rename zdxt-web-client/zdxt-enforcement-code-app/{src => fordelete}/store/Classify.js (100%) create mode 100644 zdxt-web-client/zdxt-enforcement-code-app/fordelete/store/Common.js rename zdxt-web-client/zdxt-enforcement-code-app/{src => fordelete}/store/Home.js (100%) rename zdxt-web-client/zdxt-enforcement-code-app/{src => fordelete}/store/My.js (100%) rename zdxt-web-client/zdxt-enforcement-code-app/{src => fordelete}/store/ShopCard.js (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/404.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/Classify.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/Home.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/HomeWx.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/My.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/Shop.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/administrative/appointment-bak.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/administrative/appointment.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/administrative/appointmentBase.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/administrative/appointmentDetail.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/administrative/appointmentEdit.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/administrative/appointmentList.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/administrative/appointmentRelaunch.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/administrative/deptFilter.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/administrative/userFilter.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/common/addressEdit.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/common/addressList.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/common/analyse-back.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/common/analyse.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/common/analyseFilter.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/common/goodsDetail.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/common/pdfPngPreview.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/common/pdfPreview.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/common/pdfvVew.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/common/setting.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/enforce/assistUserFilter.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/enforce/comprehensiveAnalysis.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/enforce/earlyWarning.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/enforce/earlyWarningBak.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/enforce/enforceNotice.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/enforce/enforceNoticeBase.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/enforce/enforceNoticeDetai-bak2.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/enforce/enforceNoticeDetail-bak.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/enforce/enforceNoticeDetail.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/enforce/enforceNoticeSystem.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/enforce/enforcementPlan.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/enforce/enforcementPlanAdd.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/enforce/enforcementPlanBase.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/enforce/enforcementPlanDetailed.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/enforce/enterpriseBaseInfo.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/enforce/enterpriseScanPreview.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/enforce/enterpriseWarningInfo.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/enforce/enterpriseWarningInfoBak.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/enforce/evaluate.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/enforce/historyCheck.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/enforce/lawFilter.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/enforce/login.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/enforce/noScan.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/enforce/noScanFilter-bak.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/enforce/noScanFilter.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/enforce/outsideRegister.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/enforce/qrCodeLoading.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/enforce/scanPage.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/enforce/scanPage_szy.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/enforce/scanQrCode.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/enforce/selectEntrustFilter.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/enforce/sign.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/enforce/userFilter.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/enforce/zqyjjdmFilter.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/enforceHome.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/enterprise/caseFilter.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/enterprise/compaint/compaintBase.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/enterprise/compaint/compaintDetailIndex.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/enterprise/compaint/compaintFlowView.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/enterprise/compaint/registrationListView.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/enterprise/compaint/selectDeptFilter.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/enterprise/compaint/selectMssqFilter.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/enterprise/compaint/uniteDept.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/enterprise/companyFilter.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/enterprise/complaint.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/enterprise/complaintDetail.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/enterprise/complaintDetailView.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/enterprise/complaintEvaluate.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/enterprise/complaintItem.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/enterprise/complaintList.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/enterprise/complaintNoScan.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/enterprise/enterpriseEvaluate/evaluate.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/enterprise/enterpriseHome.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/enterprise/enterpriseInformation.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/enterprise/enterpriseInspectionDetail.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/enterprise/enterpriseInspectionList.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/enterprise/enterpriseInspectionNotice.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/enterprise/login.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/enterprise/qrCode.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/enterprise/qrCodeHistory.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/enterprise/registrationDetail.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/enterprise/registrationEdit.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/enterprise/registrationList.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/enterprise/registrationSelectList.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/enterprise/systemNotice.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/enterprise/systemNoticeDetail.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/login.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/noAccess.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/non-law/enterpriseBaseInfo.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/non-law/enterpriseScanPreview.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/non-law/enterpriseWarningInfo.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/non-law/noScanFilter.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/non-law/nonSignDetail.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/non-law/outsideRegister.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/non-law/qrCodeLoading.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/non-law/scanQrCode.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/non-law/sign.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/notExist.vue (100%) rename zdxt-web-client/zdxt-enforcement-code-app/fordelete/{ => views}/register.vue (100%) create mode 100644 zdxt-web-client/zdxt-enforcement-code-app/src/components/enterprise/footerNav.vue create mode 100644 zdxt-web-client/zdxt-enforcement-code-app/src/views/enterprise/registrationList.vue diff --git a/ruoyi-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/config/LocalFileResourceConfig.java b/ruoyi-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/config/LocalFileResourceConfig.java new file mode 100644 index 00000000..4171bdcf --- /dev/null +++ b/ruoyi-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/config/LocalFileResourceConfig.java @@ -0,0 +1,42 @@ +package com.zdxt.enforcementcode.config; + +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Configuration; +import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; + +/** + * 本地文件静态资源映射配置 + *
+ * 将 URL 路径 /profile/** 映射到本地磁盘文件目录, + * 使上传的附件可通过浏览器直接访问(图片预览、文件下载等)。 + *
+ * + * @author zdxt + */ +@Slf4j +@Configuration +public class LocalFileResourceConfig implements WebMvcConfigurer { + + @Value("${zdxt.file.upload-path:#{T(java.lang.System).getProperty('user.dir') + '/upload'}}") + private String uploadBasePath; + + @Value("${zdxt.file.url-prefix:/profile}") + private String urlPrefix; + + @Override + public void addResourceHandlers(ResourceHandlerRegistry registry) { + // 确保路径格式正确:URL 以 /** 结尾,本地路径以 file: 开头、/ 结尾 + String pathPattern = urlPrefix.endsWith("/") ? urlPrefix + "**" : urlPrefix + "/**"; + String locationPath = uploadBasePath.replace("\\", "/"); + if (!locationPath.endsWith("/")) { + locationPath += "/"; + } + String resourceLocation = "file:" + locationPath; + + log.info("静态资源映射: {} -> {}", pathPattern, resourceLocation); + registry.addResourceHandler(pathPattern) + .addResourceLocations(resourceLocation); + } +} diff --git a/ruoyi-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/ZdxtFileUtilController.java b/ruoyi-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/ZdxtFileUtilController.java index 23f9ad27..64ecb2da 100644 --- a/ruoyi-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/ZdxtFileUtilController.java +++ b/ruoyi-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/ZdxtFileUtilController.java @@ -1,7 +1,10 @@ package com.zdxt.enforcementcode.controller; +import cn.dev33.satoken.annotation.SaIgnore; import com.zdxt.enforcementcode.domain.vo.ZdxtFileVo; import com.zdxt.enforcementcode.helper.ZdxtFileHelper; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotEmpty; import lombok.RequiredArgsConstructor; @@ -11,10 +14,16 @@ import org.dromara.common.idempotent.annotation.RepeatSubmit; import org.dromara.common.log.annotation.Log; import org.dromara.common.log.enums.BusinessType; import org.dromara.common.web.core.BaseController; +import org.springframework.http.MediaType; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; +import java.io.IOException; +import java.io.OutputStream; +import java.net.URLConnection; +import java.nio.file.Files; +import java.nio.file.Path; import java.util.List; /** diff --git a/ruoyi-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enterprise/AppEnterpriseInformationController.java b/ruoyi-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enterprise/AppEnterpriseInformationController.java index 9991ea86..d3e0e68a 100644 --- a/ruoyi-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enterprise/AppEnterpriseInformationController.java +++ b/ruoyi-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enterprise/AppEnterpriseInformationController.java @@ -37,8 +37,8 @@ public class AppEnterpriseInformationController { * @return 企业信息列表(enterpriseId, enterpriseName, enterpriseNumber) */ @SaIgnore - @GetMapping("/getEnterpriseInfo") - public R如果企业已存在有效二维码,则直接返回已有记录,不重复生成
*/ @Override - public QrCodeGenerateHistoryVo generateQrCode(String type, String enterpriseNumber, String formModule) { + public QrCodeGenerateHistoryVo generateQrCode(String type, String enterpriseNumber, String formModule,String reasonsChange) { // 1. 校验企业是否存在 EnterpriseInformationVo enterprise = queryByEnterpriseNumber(enterpriseNumber); if (enterprise == null) { @@ -197,7 +197,7 @@ public class EnterpriseInformationServiceImpl implements IEnterpriseInformationS // 3. 生成二维码 QrCodeGenerateHistoryVo qrCodeVo = QrCodeHelper.generateBlueWithLogoAndSave(enterprise.getSalt(), - type, enterprise.getId(), enterpriseNumber, formModule, new Date(), ""); + type, enterprise.getId(), enterpriseNumber, formModule, new Date(), "", reasonsChange); log.info("企业[{}]二维码生成成功,qrCodeId={}", enterpriseNumber, qrCodeVo.getId()); // 4. 更新企业的二维码ID和最后生成时间 diff --git a/ruoyi-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/LinkageDictMapper.xml b/ruoyi-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/LinkageDictMapper.xml new file mode 100644 index 00000000..f1f48b8a --- /dev/null +++ b/ruoyi-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/LinkageDictMapper.xml @@ -0,0 +1,6 @@ + + +