From 00a574adacf1a123e045b13994d53492d7f03bcf Mon Sep 17 00:00:00 2001 From: "wangmingyong@163.com" Date: Fri, 24 Jul 2026 09:04:41 +0800 Subject: [PATCH 1/9] =?UTF-8?q?=E5=8E=9F=E5=9B=A0=E6=94=B9=E6=88=90?= =?UTF-8?q?=E6=9F=A5=E5=AD=97=E5=85=B8=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../register/EnforcementInfoSection.vue | 15 +++--- .../register/NonEnforcementInfoSection.vue | 14 +++--- .../src/views/enforcement/scanEntQRCode.vue | 50 ++++++++++++++----- 3 files changed, 52 insertions(+), 27 deletions(-) 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 3d74865f..55db0636 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 @@ -165,6 +165,7 @@ import { buildEnforcementTimeFromPicker, } from '@/util/enforcementTimePicker'; import { queryUnionByHour } from '@/api/enforcement'; +import { loadDict } from '@/util/dictUtil'; const props = defineProps({ formData: { @@ -216,12 +217,7 @@ const unionList = ref([]); const unionLoading = ref(false); const showReasonPicker = ref(false); -const reasonOptions = [ - { text: '企业原因', value: '企业原因' }, - { text: '系统原因', value: '系统原因' }, - { text: '扫码未能显示企业信息', value: '扫码未能显示企业信息' }, - { text: '其他', value: '其他' } -]; +const reasonOptions = ref([]); onMounted(() => { const range = getEnforcementTimeDateRange(7); @@ -229,6 +225,10 @@ onMounted(() => { maxDate.value = range.maxDate; defaultPickerValue = range.currentDate; datePickerValue.value = [...range.currentDate]; + + loadDict('no-scan-reason', (columns) => { + reasonOptions.value = columns; + }); }); watch(() => props.formData.jointEnforcement, (newVal) => { @@ -291,7 +291,8 @@ const onTimeConfirm = ({ selectedValues }) => { const selectReason = ({ selectedOptions }) => { props.formData.reason = selectedOptions[0]?.text || ''; - if (props.formData.reason !== '其他') { + const selectedValue = selectedOptions[0]?.value || ''; + if (selectedValue !== '其他' && selectedOptions[0]?.text !== '其他') { props.formData.other_reasons = ''; } showReasonPicker.value = false; 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 272942d7..b09776c1 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 @@ -109,13 +109,8 @@ const matterOptions = ref([]); const showMatterPicker = ref(false); const showTimePicker = ref(false); const showReasonPicker = ref(false); +const reasonOptions = ref([]); -const reasonOptions = [ - { text: '企业原因', value: '企业原因' }, - { text: '系统原因', value: '系统原因' }, - { text: '扫码未能显示企业信息', value: '扫码未能显示企业信息' }, - { text: '其他', value: '其他' } -]; const datePickerValue = ref([]); const minDate = ref(new Date()); const maxDate = ref(new Date()); @@ -130,7 +125,8 @@ const selectMatter = ({ selectedOptions }) => { // 选择原因 const selectReason = ({ selectedOptions }) => { props.formData.reason = selectedOptions[0]?.text || ''; - if (props.formData.reason !== '其他') { + const selectedValue = selectedOptions[0]?.value || ''; + if (selectedValue !== '其他' && selectedOptions[0]?.text !== '其他') { props.formData.other_reasons = ''; } showReasonPicker.value = false; @@ -147,6 +143,10 @@ onMounted(() => { loadDict('no_check_category', (columns) => { matterOptions.value = columns; }); + + loadDict('no-scan-reason', (columns) => { + reasonOptions.value = columns; + }); }); const openTimePicker = () => { 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 48407bf4..937b298a 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 @@ -45,7 +45,7 @@
- {{ reason }} + {{ reason.text }}
@@ -96,6 +96,7 @@ import { useRouter, useRoute } from 'vue-router'; import { showFailToast, showSuccessToast, showToast, showConfirmDialog } from 'vant'; import { baseUrl, appEnv } from '@/config/env.js'; import { getEntInfoByQRCode, queryEnterpriseListAndQrInfo, szyptGetToken } from '@/api/enforcement/index'; +import { loadDict } from '@/util/dictUtil'; import wx from 'weixin-js-sdk'; const router = useRouter(); @@ -326,19 +327,14 @@ const isHttpLink = (url) => { // ========== 手动搜索企业弹窗 ========== const showSearchModal = ref(false); -const selectedReason = ref(3); // 默认选中"其他" +const selectedReason = ref(-1); // 默认未选中,字典加载后设置 const searchKeyword = ref(''); const enterpriseList = ref([]); const loading = ref(false); const finished = ref(false); const error = ref(false); -const reasonOptions = [ - '企业原因', - '系统原因', - '扫码未能显示企业信息', - '其他' -]; +const reasonOptions = ref([]); const showSearchPopup = () => { showSearchModal.value = true; @@ -346,9 +342,25 @@ const showSearchPopup = () => { enterpriseList.value = []; finished.value = false; error.value = false; - nextTick(() => { - loadEnterprises(); - }); + + if (reasonOptions.value.length === 0) { + loadDict('no-scan-reason', (columns) => { + reasonOptions.value = columns; + const otherIndex = columns.findIndex(item => item.text === '其他' || item.value === '其他'); + selectedReason.value = otherIndex !== -1 ? otherIndex : 0; + nextTick(() => { + loadEnterprises(); + }); + }); + } else { + if (selectedReason.value === -1) { + const otherIndex = reasonOptions.value.findIndex(item => item.text === '其他' || item.value === '其他'); + selectedReason.value = otherIndex !== -1 ? otherIndex : 0; + } + nextTick(() => { + loadEnterprises(); + }); + } }; const closeSearchModal = () => { @@ -415,7 +427,7 @@ const onLoad = () => { const selectEnterprise = (item) => { console.log('选中企业:', item); // 保存无法扫码原因到 sessionStorage - const selectedReasonText = reasonOptions[selectedReason.value]; + const selectedReasonText = reasonOptions.value[selectedReason.value]?.text || ''; sessionStorage.setItem('scanReason', selectedReasonText); showSearchModal.value = false; router.push({ @@ -430,7 +442,7 @@ const selectEnterprise = (item) => { // 市外注册企业信息录入 const handleOutOfCityEnterprise = () => { - const selectedReasonText = reasonOptions[selectedReason.value]; + const selectedReasonText = reasonOptions[selectedReason.value]?.text || ''; sessionStorage.setItem('scanReason', selectedReasonText); showSearchModal.value = false; router.push({ @@ -459,6 +471,18 @@ const toSign = () => { // ========== 生命周期 ========== +onMounted(() => { + loadDict('no-scan-reason', (columns) => { + reasonOptions.value = columns; + const otherIndex = columns.findIndex(item => item.text === '其他' || item.value === '其他'); + if (otherIndex !== -1) { + selectedReason.value = otherIndex; + } else if (columns.length > 0) { + selectedReason.value = 0; + } + }); +}); + onBeforeUnmount(() => { // 页面销毁时确保关闭摄像头 if (html5QrCode) { From a48fbf9b58328114c2e7b1959eb1e5761563e5db Mon Sep 17 00:00:00 2001 From: niujiyi <18272501226@163.com> Date: Fri, 24 Jul 2026 09:04:59 +0800 Subject: [PATCH 2/9] =?UTF-8?q?=E6=89=A7=E6=B3=95=E7=AB=AF=EF=BC=8C?= =?UTF-8?q?=E7=9B=91=E7=9D=A3=E7=AB=AF-=E6=96=B0=E5=A2=9E=E5=85=B6?= =?UTF-8?q?=E4=BB=96=E5=8E=9F=E5=9B=A0=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../domain/bo/EnforcementRegistrationBo.java | 5 +++++ .../domain/vo/EnforcementRegistrationVo.java | 4 ++++ .../enforcementcode/EnforcementRegistrationMapper.xml | 3 +++ .../EnforcementRegistrationEINOFTReportMapper.xml | 2 +- .../report/EnforcementRegistrationReportMapper.xml | 11 ++++++++--- .../controller/system/SysDictDataController.java | 3 ++- .../system/service/impl/SysDictTypeServiceImpl.java | 2 +- 7 files changed, 24 insertions(+), 6 deletions(-) diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/EnforcementRegistrationBo.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/EnforcementRegistrationBo.java index 4bbf5c42..8dcb685b 100644 --- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/EnforcementRegistrationBo.java +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/EnforcementRegistrationBo.java @@ -321,4 +321,9 @@ public class EnforcementRegistrationBo extends BaseEntity { */ private Integer warnType; + /** + * 其他原因 + */ + private String otherReasons; + } diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/EnforcementRegistrationVo.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/EnforcementRegistrationVo.java index 300c15f1..ff8b03a6 100644 --- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/EnforcementRegistrationVo.java +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/EnforcementRegistrationVo.java @@ -410,4 +410,8 @@ public class EnforcementRegistrationVo implements Serializable { private List fileList; + /** + * 其他原因 + */ + private String otherReasons; } diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/EnforcementRegistrationMapper.xml b/zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/EnforcementRegistrationMapper.xml index 46ada94d..8cf23ae8 100644 --- a/zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/EnforcementRegistrationMapper.xml +++ b/zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/EnforcementRegistrationMapper.xml @@ -315,6 +315,7 @@ law_enforce_category = #{lawEnforceCategory}, entrust_dept_id=#{entrustDeptId}, entrust_dept_name=#{entrustDeptName}, + other_reasons = #{otherReasons}, where id = #{id} @@ -383,6 +384,7 @@ law_enforce_category, entrust_dept_id, entrust_dept_name, + other_reasons, #{id}, @@ -437,6 +439,7 @@ #{lawEnforceCategory}, #{entrustDeptId}, #{entrustDeptName}, + #{otherReasons}, diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/report/EnforcementRegistrationEINOFTReportMapper.xml b/zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/report/EnforcementRegistrationEINOFTReportMapper.xml index fd4a2887..b958a7e3 100644 --- a/zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/report/EnforcementRegistrationEINOFTReportMapper.xml +++ b/zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/report/EnforcementRegistrationEINOFTReportMapper.xml @@ -41,7 +41,7 @@ - GROUP BY er.enterprise_number + GROUP BY er.enterprise_number, er.enterprise_name, er.district, er.street ) t diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/report/EnforcementRegistrationReportMapper.xml b/zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/report/EnforcementRegistrationReportMapper.xml index 69767b8a..97cd3a58 100644 --- a/zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/report/EnforcementRegistrationReportMapper.xml +++ b/zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/report/EnforcementRegistrationReportMapper.xml @@ -152,7 +152,8 @@ er.is_evaluate, er.law_id, er.law_text, er.has_union, er.has_auto, er.union_no, er.law_enforce_category, er.entrust_dept_id, er.entrust_dept_name, - er.enterprise_address, er.district, er.street, er.zone, er.is_real_union + er.enterprise_address, er.district, er.street, er.zone, er.is_real_union, + er.other_reasons FROM enforcement_registration er LEFT JOIN sys_dict_data area ON area.dict_type = 'address_type' @@ -351,7 +352,9 @@ AND enterprise_number IS NOT NULL AND enterprise_number != '' - GROUP BY enterprise_number + GROUP BY enterprise_number, enterprise_name, district, street, + bureau_dept_name, law_enforcer, law_enforcer_two, + law_enforcement_item_text, enforcement_time ORDER BY enforcement_time DESC ) t @@ -453,7 +456,9 @@ ${dataFilter} - GROUP BY er.enterprise_number + GROUP BY er.enterprise_number, er.enterprise_name, er.district, er.street, + er.bureau_dept_id, er.bureau_dept_name, er.law_enforcer, er.law_enforcer_two, + er.law_enforcement_item_text ) t LEFT JOIN sys_dict_data area ON area.dict_type = 'address_type' diff --git a/zdxt-modules/zdxt-system/src/main/java/org/dromara/system/controller/system/SysDictDataController.java b/zdxt-modules/zdxt-system/src/main/java/org/dromara/system/controller/system/SysDictDataController.java index 6eb63879..e79e54e0 100644 --- a/zdxt-modules/zdxt-system/src/main/java/org/dromara/system/controller/system/SysDictDataController.java +++ b/zdxt-modules/zdxt-system/src/main/java/org/dromara/system/controller/system/SysDictDataController.java @@ -1,6 +1,7 @@ package org.dromara.system.controller.system; import cn.dev33.satoken.annotation.SaCheckPermission; +import cn.dev33.satoken.annotation.SaIgnore; import cn.hutool.core.util.ObjectUtil; import jakarta.servlet.http.HttpServletResponse; import lombok.RequiredArgsConstructor; @@ -81,7 +82,7 @@ public class SysDictDataController extends BaseController { } return R.ok(data); } - + @SaIgnore @GetMapping(value = "/dictType") public R> dictTypes(String dictType) { List data = dictTypeService.selectDictDataByType(dictType); diff --git a/zdxt-modules/zdxt-system/src/main/java/org/dromara/system/service/impl/SysDictTypeServiceImpl.java b/zdxt-modules/zdxt-system/src/main/java/org/dromara/system/service/impl/SysDictTypeServiceImpl.java index a7bc0694..1189f87f 100644 --- a/zdxt-modules/zdxt-system/src/main/java/org/dromara/system/service/impl/SysDictTypeServiceImpl.java +++ b/zdxt-modules/zdxt-system/src/main/java/org/dromara/system/service/impl/SysDictTypeServiceImpl.java @@ -101,7 +101,7 @@ public class SysDictTypeServiceImpl implements ISysDictTypeService, DictService * @param dictType 字典类型 * @return 字典数据集合信息 */ - @Cacheable(cacheNames = CacheNames.SYS_DICT, key = "#dictType") + //@Cacheable(cacheNames = CacheNames.SYS_DICT, key = "#dictType") @Override public List selectDictDataByType(String dictType) { List dictDatas = dictDataMapper.selectDictDataByType(dictType); From 39fea9e2c2e79caf5223a4dd41ffa4601dc291f4 Mon Sep 17 00:00:00 2001 From: niujiyi <18272501226@163.com> Date: Fri, 24 Jul 2026 09:05:36 +0800 Subject: [PATCH 3/9] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=85=B6=E4=BB=96?= =?UTF-8?q?=E5=8E=9F=E5=9B=A0=E5=AD=97=E6=AE=B5SQL=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- script/sql/zfjd-refactoring-v1/其他/njy/njy.sql | 3 +++ 1 file changed, 3 insertions(+) diff --git a/script/sql/zfjd-refactoring-v1/其他/njy/njy.sql b/script/sql/zfjd-refactoring-v1/其他/njy/njy.sql index 3fde0389..053ca751 100644 --- a/script/sql/zfjd-refactoring-v1/其他/njy/njy.sql +++ b/script/sql/zfjd-refactoring-v1/其他/njy/njy.sql @@ -3,3 +3,6 @@ ALTER TABLE enterprise_complaint AFTER enterprise_address; ALTER TABLE enforcement_inspection_program ADD COLUMN create_by_name VARCHAR(64) COMMENT '创建人姓名'; + + +ALTER TABLE enforcement_registration ADD COLUMN other_reasons varchar(500) DEFAULT NULL COMMENT '其他原因'; From 1446fb6d000fb8c078d1d595afe2df41a3acf325 Mon Sep 17 00:00:00 2001 From: "wangmingyong@163.com" Date: Fri, 24 Jul 2026 10:07:50 +0800 Subject: [PATCH 4/9] =?UTF-8?q?=E5=BE=85=E5=8A=9E=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/api/enforcement/index.js | 2 +- .../enforcement/enforce/enforcementList.vue | 12 +--- .../message/enforcementTaskList.vue | 72 +++++++++++-------- .../src/views/enforcement/scanEntQRCode.vue | 2 +- 4 files changed, 46 insertions(+), 42 deletions(-) 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 0f7ff5b4..401bd76d 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 @@ -75,7 +75,7 @@ export const addNonRegistration = (params, success, error) => _post(baseUrl + "/ export const queryEnforcementNoticeList = (params, success, error) => _post(baseUrl + "/enforcement/queryList", params, success, error); // 执法预告列表 -export const getLawNoticeList = (params, success, error) => _post(baseUrl + "/enforcement/queryList", params, success, error); +export const getLawNoticeList = (params, success, error) => _get(baseUrl + "/cpNotice/myList", params, success, error); //计划通知列表 export const queryListNoPermission = (params, success, error) => _get(baseUrl + "/inspectionProgram/queryListNoPermission", params, success, error); 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 f3c92ab5..82a8c9cf 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 @@ -1,13 +1,7 @@