diff --git a/zdxt-web-client/zdxt-efcode-enforcement-app/src/api/enforcement/index.js b/zdxt-web-client/zdxt-efcode-enforcement-app/src/api/enforcement/index.js
index 3de13f6b..41da0832 100644
--- a/zdxt-web-client/zdxt-efcode-enforcement-app/src/api/enforcement/index.js
+++ b/zdxt-web-client/zdxt-efcode-enforcement-app/src/api/enforcement/index.js
@@ -68,6 +68,9 @@ export const submitEnfRegistration = (params, success, error) => _post(baseUrl +
// 历史活动列表
export const queryNonRegistrationList = (params, success, error) => _get(baseUrl + "/nonRegistration/queryList", params, success, error);
+// 非行政执法登记列表
+export const queryNonRegistrationPageList = (params, success, error) => _get(baseUrl + "/nonRegistration/list", params, success, error);
+
// 历史活动详情
export const queryNonRegistrationDetail = (params, success, error) => _get(baseUrl + "/nonRegistration/queryById", params, success, error);
diff --git a/zdxt-web-client/zdxt-efcode-enforcement-app/src/components/enforcement/register/EnforcementInfoSection.vue b/zdxt-web-client/zdxt-efcode-enforcement-app/src/components/enforcement/register/EnforcementInfoSection.vue
index 5ee265e1..4a739a8f 100644
--- a/zdxt-web-client/zdxt-efcode-enforcement-app/src/components/enforcement/register/EnforcementInfoSection.vue
+++ b/zdxt-web-client/zdxt-efcode-enforcement-app/src/components/enforcement/register/EnforcementInfoSection.vue
@@ -362,6 +362,8 @@ const enforcementTimeDisplay = computed(() => {
const selectReason = ({ selectedOptions }) => {
props.formData.reason = selectedOptions[0]?.text || '';
const selectedValue = selectedOptions[0]?.value || '';
+ // checkCss 存储原因选择器的 value 值(扫码模式无选择时为空)
+ props.formData.checkCss = selectedValue;
if (selectedValue !== '其他' && selectedOptions[0]?.text !== '其他') {
props.formData.otherReasons = '';
}
diff --git a/zdxt-web-client/zdxt-efcode-enforcement-app/src/components/enforcement/register/NonEnforcementInfoSection.vue b/zdxt-web-client/zdxt-efcode-enforcement-app/src/components/enforcement/register/NonEnforcementInfoSection.vue
index 78c5d802..4dcb5e4d 100644
--- a/zdxt-web-client/zdxt-efcode-enforcement-app/src/components/enforcement/register/NonEnforcementInfoSection.vue
+++ b/zdxt-web-client/zdxt-efcode-enforcement-app/src/components/enforcement/register/NonEnforcementInfoSection.vue
@@ -134,6 +134,8 @@ const selectMatter = ({ selectedOptions }) => {
const selectReason = ({ selectedOptions }) => {
props.formData.reason = selectedOptions[0]?.text || '';
const selectedValue = selectedOptions[0]?.value || '';
+ // checkCss 存储原因选择器的 value 值(扫码模式无选择时为空)
+ props.formData.checkCss = selectedValue;
if (selectedValue !== '其他' && selectedOptions[0]?.text !== '其他') {
props.formData.otherReasons = '';
}
diff --git a/zdxt-web-client/zdxt-efcode-enforcement-app/src/views/enforcement/enforce/enforcementList.vue b/zdxt-web-client/zdxt-efcode-enforcement-app/src/views/enforcement/enforce/enforcementList.vue
index 14e9c3e0..a2a7d696 100644
--- a/zdxt-web-client/zdxt-efcode-enforcement-app/src/views/enforcement/enforce/enforcementList.vue
+++ b/zdxt-web-client/zdxt-efcode-enforcement-app/src/views/enforcement/enforce/enforcementList.vue
@@ -57,14 +57,15 @@
diff --git a/zdxt-web-client/zdxt-efcode-enforcement-app/src/views/enforcement/enforce/enforcementRegister.vue b/zdxt-web-client/zdxt-efcode-enforcement-app/src/views/enforcement/enforce/enforcementRegister.vue
index 9373dbf5..95c86949 100644
--- a/zdxt-web-client/zdxt-efcode-enforcement-app/src/views/enforcement/enforce/enforcementRegister.vue
+++ b/zdxt-web-client/zdxt-efcode-enforcement-app/src/views/enforcement/enforce/enforcementRegister.vue
@@ -439,7 +439,7 @@ const getCurrentDateTime = () => {
userId: useCommon.userId || '',
reason: formData.reason || '',
otherReasons: formData.otherReasons || '',
- checkCss: formData.checkCss || '0',
+ checkCss: formData.checkCss || '',
noticeId: formData.noticeId || '',
};
}
@@ -528,7 +528,10 @@ const handleSave = () => {
sessionStorage.removeItem('enterpriseScanData');
sessionStorage.removeItem('outOfCityEnterprise');
sessionStorage.removeItem('scanReason');
- router.replace('/enforcement/enforcementList');
+ sessionStorage.removeItem('scanReasonValue');
+ // 先 replace 到首页清除中间页面,再 push 到列表页,确保列表页回退到首页
+ router.replace('/enforcement/enforcementHome');
+ router.push('/enforcement/enforcementList');
} else {
showToast(res.msg || '保存失败');
}
@@ -590,19 +593,20 @@ const onSubmit = () => {
sessionStorage.removeItem('enterpriseScanData');
sessionStorage.removeItem('outOfCityEnterprise');
if (isNonEnforcement.value) {
- // 非行政执法模式跳转到历史活动页面
- router.replace({
- path: '/enforcement/enterpriseScanPreview',
- query: {
- type: 'non-enforcement',
- enterpriseNumber: enterpriseData.value.enterpriseNumber,
- tab: '1',
- isManualSearch:'true'
- }
+ sessionStorage.removeItem('scanReason');
+ sessionStorage.removeItem('scanReasonValue');
+ // 先 replace 到首页清除中间页面,再 push 到列表页(默认选中非行政执法 tab),确保回退到首页
+ router.replace('/enforcement/enforcementHome');
+ router.push({
+ path: '/enforcement/enforcementList',
+ query: { tab: 'non-enforcement' }
});
} else {
sessionStorage.removeItem('scanReason');
- router.replace('/enforcement/enforcementList');
+ sessionStorage.removeItem('scanReasonValue');
+ // 先 replace 到首页清除中间页面,再 push 到列表页,确保列表页回退到首页
+ router.replace('/enforcement/enforcementHome');
+ router.push('/enforcement/enforcementList');
}
} else {
showToast(res.msg || '提交失败');
@@ -639,6 +643,9 @@ const handleSubmitAndTransfer = () => {
sessionStorage.removeItem('enterpriseScanData');
sessionStorage.removeItem('outOfCityEnterprise');
sessionStorage.removeItem('scanReason');
+ sessionStorage.removeItem('scanReasonValue');
+ // 先 replace 到首页清除中间页面,再 push 到列表页,确保列表页回退到首页
+ router.replace('/enforcement/enforcementHome');
router.push('/enforcement/enforcementList');
} else {
showToast(res.msg || '提交失败');
@@ -806,14 +813,18 @@ onMounted(() => {
if (isSignMode.value) {
// 补录模式:默认值为"补录",不可选择
formData.reason = '补录';
+ formData.checkCss = '9';
} else if (isScanMode.value) {
// 扫码登记模式:原因为空,不可选择
formData.reason = '';
+ formData.checkCss = '';
} else {
// 手动搜索企业:读取选择的原因作为初始值,可选择
const savedReason = sessionStorage.getItem('scanReason');
+ const savedReasonValue = sessionStorage.getItem('scanReasonValue');
if (savedReason) {
formData.reason = savedReason;
+ formData.checkCss = savedReasonValue || '';
}
}
diff --git a/zdxt-web-client/zdxt-efcode-enforcement-app/src/views/enforcement/scanEntQRCode.vue b/zdxt-web-client/zdxt-efcode-enforcement-app/src/views/enforcement/scanEntQRCode.vue
index 4f0d4d05..8e6368f4 100644
--- a/zdxt-web-client/zdxt-efcode-enforcement-app/src/views/enforcement/scanEntQRCode.vue
+++ b/zdxt-web-client/zdxt-efcode-enforcement-app/src/views/enforcement/scanEntQRCode.vue
@@ -472,7 +472,9 @@ const selectEnterprise = (item) => {
console.log('选中企业:', item);
// 保存无法扫码原因到 sessionStorage
const selectedReasonText = reasonOptions.value[selectedReason.value]?.text || '';
+ const selectedReasonValue = reasonOptions.value[selectedReason.value]?.value || '';
sessionStorage.setItem('scanReason', selectedReasonText);
+ sessionStorage.setItem('scanReasonValue', selectedReasonValue);
showSearchModal.value = false;
router.push({
path: '/enforcement/enterpriseScanPreview',
@@ -487,7 +489,9 @@ const selectEnterprise = (item) => {
// 市外注册企业信息录入
const handleOutOfCityEnterprise = () => {
const selectedReasonText = reasonOptions.value[selectedReason.value]?.text || '';
+ const selectedReasonValue = reasonOptions.value[selectedReason.value]?.value || '';
sessionStorage.setItem('scanReason', selectedReasonText);
+ sessionStorage.setItem('scanReasonValue', selectedReasonValue);
showSearchModal.value = false;
router.push({
path: '/enforcement/outOfCityEnterprise',
diff --git a/zdxt-web-client/zdxt-efcode-enforcement-app/vite-env/.env.enforcement-dev-wmy b/zdxt-web-client/zdxt-efcode-enforcement-app/vite-env/.env.enforcement-dev-wmy
index 1e2d7f5c..7cca0901 100644
--- a/zdxt-web-client/zdxt-efcode-enforcement-app/vite-env/.env.enforcement-dev-wmy
+++ b/zdxt-web-client/zdxt-efcode-enforcement-app/vite-env/.env.enforcement-dev-wmy
@@ -4,9 +4,9 @@ VITE_BASE_URL = '/efcode20-enf-app/api'
VITE_CONTEXT_PATH = '/efcode20-enf-app/'
# VITE_PROXY_TARGET = 'http://139.186.148.21:8080'
# VITE_API_URL = 'http://192.168.1.17:8080'
-# VITE_PROXY_TARGET = 'http://172.16.21.213:8080'
+VITE_PROXY_TARGET = 'http://172.16.21.213:8080'
# VITE_PROXY_TARGET = 'http://172.16.21.93:8080'
-VITE_PROXY_TARGET = 'http://172.16.20.72:8080'
+# VITE_PROXY_TARGET = 'http://172.16.20.72:8080'
VITE_DEFAULT_LOGIN = '/enforcement/loginByPassword'
VITE_APP_ENV = 'dev'
VITE_FILE_URL = ''
diff --git a/zdxt-web-server/zdxt-admin-web-server/src/main/java/org/dromara/web/controller/AuthController.java b/zdxt-web-server/zdxt-admin-web-server/src/main/java/org/dromara/web/controller/AuthController.java
index 9f20f301..519596eb 100644
--- a/zdxt-web-server/zdxt-admin-web-server/src/main/java/org/dromara/web/controller/AuthController.java
+++ b/zdxt-web-server/zdxt-admin-web-server/src/main/java/org/dromara/web/controller/AuthController.java
@@ -16,13 +16,11 @@ import me.zhyd.oauth.request.AuthRequest;
import me.zhyd.oauth.utils.AuthStateUtils;
import org.dromara.common.core.constant.SystemConstants;
import org.dromara.common.core.domain.R;
-import org.dromara.common.core.domain.model.LoginBody;
-import org.dromara.common.core.domain.model.LoginUser;
-import org.dromara.common.core.domain.model.RegisterBody;
-import org.dromara.common.core.domain.model.SocialLoginBody;
+import org.dromara.common.core.domain.model.*;
import org.dromara.common.core.utils.*;
import org.dromara.common.encrypt.annotation.ApiEncrypt;
import org.dromara.common.encrypt.utils.EncryptUtils;
+import com.fasterxml.jackson.databind.JsonNode;
import org.dromara.common.json.utils.JsonUtils;
import org.dromara.common.ratelimiter.annotation.RateLimiter;
import org.dromara.common.ratelimiter.enums.LimitType;
@@ -96,6 +94,16 @@ public class AuthController {
public R login(@RequestBody String body) {
LoginBody loginBody = JsonUtils.parseObject(body, LoginBody.class);
ValidatorUtils.validate(loginBody);
+
+ // 仅允许admin登录限制
+ String loginAccount = configService.selectConfigByKey("login.account");
+ if ("1".equals(loginAccount)) {
+ PasswordLoginBody passwordLoginBody = JsonUtils.parseObject(body, PasswordLoginBody.class);
+ if (!"admin".equals(passwordLoginBody.getUsername())) {
+ return R.fail("当前仅允许管理员登录");
+ }
+ }
+
// 授权类型和客户端id
String clientId = loginBody.getClientId();
String grantType = loginBody.getGrantType();