Browse Source

Merge branch 'dev-V1.0.5' into dev-V1.0.7

# Conflicts:
#	zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/EfcodeCpPlanMapper.xml
dev-V1.0.7
vincent 2 months ago
parent
commit
16989c4d5f
  1. 3
      zdxt-web-client/zdxt-efcode-enforcement-app/src/api/enforcement/index.js
  2. 2
      zdxt-web-client/zdxt-efcode-enforcement-app/src/components/enforcement/register/EnforcementInfoSection.vue
  3. 2
      zdxt-web-client/zdxt-efcode-enforcement-app/src/components/enforcement/register/NonEnforcementInfoSection.vue
  4. 9
      zdxt-web-client/zdxt-efcode-enforcement-app/src/views/enforcement/enforce/enforcementList.vue
  5. 35
      zdxt-web-client/zdxt-efcode-enforcement-app/src/views/enforcement/enforce/enforcementRegister.vue
  6. 4
      zdxt-web-client/zdxt-efcode-enforcement-app/src/views/enforcement/scanEntQRCode.vue
  7. 4
      zdxt-web-client/zdxt-efcode-enforcement-app/vite-env/.env.enforcement-dev-wmy
  8. 16
      zdxt-web-server/zdxt-admin-web-server/src/main/java/org/dromara/web/controller/AuthController.java

3
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 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); export const queryNonRegistrationDetail = (params, success, error) => _get(baseUrl + "/nonRegistration/queryById", params, success, error);

2
zdxt-web-client/zdxt-efcode-enforcement-app/src/components/enforcement/register/EnforcementInfoSection.vue

@ -362,6 +362,8 @@ const enforcementTimeDisplay = computed(() => {
const selectReason = ({ selectedOptions }) => { const selectReason = ({ selectedOptions }) => {
props.formData.reason = selectedOptions[0]?.text || ''; props.formData.reason = selectedOptions[0]?.text || '';
const selectedValue = selectedOptions[0]?.value || ''; const selectedValue = selectedOptions[0]?.value || '';
// checkCss 存储原因选择器的 value 值(扫码模式无选择时为空)
props.formData.checkCss = selectedValue;
if (selectedValue !== '其他' && selectedOptions[0]?.text !== '其他') { if (selectedValue !== '其他' && selectedOptions[0]?.text !== '其他') {
props.formData.otherReasons = ''; props.formData.otherReasons = '';
} }

2
zdxt-web-client/zdxt-efcode-enforcement-app/src/components/enforcement/register/NonEnforcementInfoSection.vue

@ -134,6 +134,8 @@ const selectMatter = ({ selectedOptions }) => {
const selectReason = ({ selectedOptions }) => { const selectReason = ({ selectedOptions }) => {
props.formData.reason = selectedOptions[0]?.text || ''; props.formData.reason = selectedOptions[0]?.text || '';
const selectedValue = selectedOptions[0]?.value || ''; const selectedValue = selectedOptions[0]?.value || '';
// checkCss 存储原因选择器的 value 值(扫码模式无选择时为空)
props.formData.checkCss = selectedValue;
if (selectedValue !== '其他' && selectedOptions[0]?.text !== '其他') { if (selectedValue !== '其他' && selectedOptions[0]?.text !== '其他') {
props.formData.otherReasons = ''; props.formData.otherReasons = '';
} }

9
zdxt-web-client/zdxt-efcode-enforcement-app/src/views/enforcement/enforce/enforcementList.vue

@ -57,14 +57,15 @@
<script setup name="enforcementRegistrationList"> <script setup name="enforcementRegistrationList">
import { ref, onMounted } from 'vue'; import { ref, onMounted } from 'vue';
import { useRouter } from 'vue-router'; import { useRouter, useRoute } from 'vue-router';
import { showToast } from 'vant'; import { showToast } from 'vant';
import 'vant/es/toast/style'; import 'vant/es/toast/style';
import { queryEnforcementRegistrationPageList } from '@/api/enforcement'; import { queryEnforcementRegistrationPageList, queryNonRegistrationPageList } from '@/api/enforcement';
import { formatEnforcer, parseEnforcer, formatTime } from '@/util/util'; import { formatEnforcer, parseEnforcer, formatTime } from '@/util/util';
import SearchFilterBar from '@/components/common/SearchFilterBar.vue'; import SearchFilterBar from '@/components/common/SearchFilterBar.vue';
const router = useRouter(); const router = useRouter();
const route = useRoute();
// ========== 列表状态 ========== // ========== 列表状态 ==========
const list = ref([]); const list = ref([]);
@ -209,6 +210,10 @@ const toEdit = (id) => {
}; };
onMounted(() => { onMounted(() => {
// 根据 URL 参数预选 tab
// if (route.query.tab === 'non-enforcement') {
// activeTab.value = 'non-enforcement';
// }
fetchList(); fetchList();
}); });
</script> </script>

35
zdxt-web-client/zdxt-efcode-enforcement-app/src/views/enforcement/enforce/enforcementRegister.vue

@ -439,7 +439,7 @@ const getCurrentDateTime = () => {
userId: useCommon.userId || '', userId: useCommon.userId || '',
reason: formData.reason || '', reason: formData.reason || '',
otherReasons: formData.otherReasons || '', otherReasons: formData.otherReasons || '',
checkCss: formData.checkCss || '0', checkCss: formData.checkCss || '',
noticeId: formData.noticeId || '', noticeId: formData.noticeId || '',
}; };
} }
@ -528,7 +528,10 @@ const handleSave = () => {
sessionStorage.removeItem('enterpriseScanData'); sessionStorage.removeItem('enterpriseScanData');
sessionStorage.removeItem('outOfCityEnterprise'); sessionStorage.removeItem('outOfCityEnterprise');
sessionStorage.removeItem('scanReason'); sessionStorage.removeItem('scanReason');
router.replace('/enforcement/enforcementList'); sessionStorage.removeItem('scanReasonValue');
// 先 replace 到首页清除中间页面,再 push 到列表页,确保列表页回退到首页
router.replace('/enforcement/enforcementHome');
router.push('/enforcement/enforcementList');
} else { } else {
showToast(res.msg || '保存失败'); showToast(res.msg || '保存失败');
} }
@ -590,19 +593,20 @@ const onSubmit = () => {
sessionStorage.removeItem('enterpriseScanData'); sessionStorage.removeItem('enterpriseScanData');
sessionStorage.removeItem('outOfCityEnterprise'); sessionStorage.removeItem('outOfCityEnterprise');
if (isNonEnforcement.value) { if (isNonEnforcement.value) {
// 非行政执法模式跳转到历史活动页面 sessionStorage.removeItem('scanReason');
router.replace({ sessionStorage.removeItem('scanReasonValue');
path: '/enforcement/enterpriseScanPreview', // 先 replace 到首页清除中间页面,再 push 到列表页(默认选中非行政执法 tab),确保回退到首页
query: { router.replace('/enforcement/enforcementHome');
type: 'non-enforcement', router.push({
enterpriseNumber: enterpriseData.value.enterpriseNumber, path: '/enforcement/enforcementList',
tab: '1', query: { tab: 'non-enforcement' }
isManualSearch:'true'
}
}); });
} else { } else {
sessionStorage.removeItem('scanReason'); sessionStorage.removeItem('scanReason');
router.replace('/enforcement/enforcementList'); sessionStorage.removeItem('scanReasonValue');
// 先 replace 到首页清除中间页面,再 push 到列表页,确保列表页回退到首页
router.replace('/enforcement/enforcementHome');
router.push('/enforcement/enforcementList');
} }
} else { } else {
showToast(res.msg || '提交失败'); showToast(res.msg || '提交失败');
@ -639,6 +643,9 @@ const handleSubmitAndTransfer = () => {
sessionStorage.removeItem('enterpriseScanData'); sessionStorage.removeItem('enterpriseScanData');
sessionStorage.removeItem('outOfCityEnterprise'); sessionStorage.removeItem('outOfCityEnterprise');
sessionStorage.removeItem('scanReason'); sessionStorage.removeItem('scanReason');
sessionStorage.removeItem('scanReasonValue');
// 先 replace 到首页清除中间页面,再 push 到列表页,确保列表页回退到首页
router.replace('/enforcement/enforcementHome');
router.push('/enforcement/enforcementList'); router.push('/enforcement/enforcementList');
} else { } else {
showToast(res.msg || '提交失败'); showToast(res.msg || '提交失败');
@ -806,14 +813,18 @@ onMounted(() => {
if (isSignMode.value) { if (isSignMode.value) {
// 补录模式:默认值为"补录",不可选择 // 补录模式:默认值为"补录",不可选择
formData.reason = '补录'; formData.reason = '补录';
formData.checkCss = '9';
} else if (isScanMode.value) { } else if (isScanMode.value) {
// 扫码登记模式:原因为空,不可选择 // 扫码登记模式:原因为空,不可选择
formData.reason = ''; formData.reason = '';
formData.checkCss = '';
} else { } else {
// 手动搜索企业:读取选择的原因作为初始值,可选择 // 手动搜索企业:读取选择的原因作为初始值,可选择
const savedReason = sessionStorage.getItem('scanReason'); const savedReason = sessionStorage.getItem('scanReason');
const savedReasonValue = sessionStorage.getItem('scanReasonValue');
if (savedReason) { if (savedReason) {
formData.reason = savedReason; formData.reason = savedReason;
formData.checkCss = savedReasonValue || '';
} }
} }

4
zdxt-web-client/zdxt-efcode-enforcement-app/src/views/enforcement/scanEntQRCode.vue

@ -472,7 +472,9 @@ const selectEnterprise = (item) => {
console.log('选中企业:', item); console.log('选中企业:', item);
// 保存无法扫码原因到 sessionStorage // 保存无法扫码原因到 sessionStorage
const selectedReasonText = reasonOptions.value[selectedReason.value]?.text || ''; const selectedReasonText = reasonOptions.value[selectedReason.value]?.text || '';
const selectedReasonValue = reasonOptions.value[selectedReason.value]?.value || '';
sessionStorage.setItem('scanReason', selectedReasonText); sessionStorage.setItem('scanReason', selectedReasonText);
sessionStorage.setItem('scanReasonValue', selectedReasonValue);
showSearchModal.value = false; showSearchModal.value = false;
router.push({ router.push({
path: '/enforcement/enterpriseScanPreview', path: '/enforcement/enterpriseScanPreview',
@ -487,7 +489,9 @@ const selectEnterprise = (item) => {
// 市外注册企业信息录入 // 市外注册企业信息录入
const handleOutOfCityEnterprise = () => { const handleOutOfCityEnterprise = () => {
const selectedReasonText = reasonOptions.value[selectedReason.value]?.text || ''; const selectedReasonText = reasonOptions.value[selectedReason.value]?.text || '';
const selectedReasonValue = reasonOptions.value[selectedReason.value]?.value || '';
sessionStorage.setItem('scanReason', selectedReasonText); sessionStorage.setItem('scanReason', selectedReasonText);
sessionStorage.setItem('scanReasonValue', selectedReasonValue);
showSearchModal.value = false; showSearchModal.value = false;
router.push({ router.push({
path: '/enforcement/outOfCityEnterprise', path: '/enforcement/outOfCityEnterprise',

4
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_CONTEXT_PATH = '/efcode20-enf-app/'
# VITE_PROXY_TARGET = 'http://139.186.148.21:8080' # VITE_PROXY_TARGET = 'http://139.186.148.21:8080'
# VITE_API_URL = 'http://192.168.1.17: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.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_DEFAULT_LOGIN = '/enforcement/loginByPassword'
VITE_APP_ENV = 'dev' VITE_APP_ENV = 'dev'
VITE_FILE_URL = '' VITE_FILE_URL = ''

16
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 me.zhyd.oauth.utils.AuthStateUtils;
import org.dromara.common.core.constant.SystemConstants; import org.dromara.common.core.constant.SystemConstants;
import org.dromara.common.core.domain.R; import org.dromara.common.core.domain.R;
import org.dromara.common.core.domain.model.LoginBody; import org.dromara.common.core.domain.model.*;
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.utils.*; import org.dromara.common.core.utils.*;
import org.dromara.common.encrypt.annotation.ApiEncrypt; import org.dromara.common.encrypt.annotation.ApiEncrypt;
import org.dromara.common.encrypt.utils.EncryptUtils; import org.dromara.common.encrypt.utils.EncryptUtils;
import com.fasterxml.jackson.databind.JsonNode;
import org.dromara.common.json.utils.JsonUtils; import org.dromara.common.json.utils.JsonUtils;
import org.dromara.common.ratelimiter.annotation.RateLimiter; import org.dromara.common.ratelimiter.annotation.RateLimiter;
import org.dromara.common.ratelimiter.enums.LimitType; import org.dromara.common.ratelimiter.enums.LimitType;
@ -96,6 +94,16 @@ public class AuthController {
public R<LoginVo> login(@RequestBody String body) { public R<LoginVo> login(@RequestBody String body) {
LoginBody loginBody = JsonUtils.parseObject(body, LoginBody.class); LoginBody loginBody = JsonUtils.parseObject(body, LoginBody.class);
ValidatorUtils.validate(loginBody); 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 // 授权类型和客户端id
String clientId = loginBody.getClientId(); String clientId = loginBody.getClientId();
String grantType = loginBody.getGrantType(); String grantType = loginBody.getGrantType();

Loading…
Cancel
Save